This commit was manufactured by cvs2svn to create branch 'R3_1_2_patches'.
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/.cvsignore b/features/org.eclipse.jst.enterprise_ui.feature.patch/.cvsignore
deleted file mode 100644
index c14487c..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-build.xml
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/.project b/features/org.eclipse.jst.enterprise_ui.feature.patch/.project
deleted file mode 100644
index b157d64..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jst.enterprise_ui.feature.patch</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/build.properties b/features/org.eclipse.jst.enterprise_ui.feature.patch/build.properties
deleted file mode 100644
index cb50260..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = feature.xml,\
-               license.html,\
-               feature.properties,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/buildnotes_org.eclipse.jst.enterprise_ui.feature.patch.html b/features/org.eclipse.jst.enterprise_ui.feature.patch/buildnotes_org.eclipse.jst.enterprise_ui.feature.patch.html
deleted file mode 100644
index f6c2bd0..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/buildnotes_org.eclipse.jst.enterprise_ui.feature.patch.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Build" content="Build">
-   <title>WTP 1.5.5 Patches</title>
-</head>
-
-<body>
-
-<h1>WTP 1.5.5 Patches</h1>
-
-<h2>org.eclipse.jst.enterprise_ui.feature</h2>
-
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=201942'>201942</a>. Web App Libraries container causes hang</p>
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=204315'>204315</a>. Web Lib projects being added to the EAR</p>
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=206478'>206478</a>. Importing a .war causes error</p>
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=200193'>200193</a>. Cannot use Java project for BUJava</p>
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=215537'>215537</a>. J2EEComponentProjectMigrator always adding WebAppLibrary classpath container</p>
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=215538'>215538</a>. Several problems with J2EE and Web Dependencies properties pages</p>
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=216779'>216779</a>. Unable to add specific project to web library</p>
-<p>Bug <a href='https://bugs.eclipse.org/bugs/show_bug.cgi?id=205126'>205126</a>. Java Utility jars containg wrong archive name</p>
-</body></html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/eclipse_update_120.jpg b/features/org.eclipse.jst.enterprise_ui.feature.patch/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/epl-v10.html b/features/org.eclipse.jst.enterprise_ui.feature.patch/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.properties b/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.properties
deleted file mode 100644
index 2c538ad..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.properties
+++ /dev/null
@@ -1,156 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=WTP Patch for org.eclipse.jst.enterprise_ui.feature
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
-
-# "description" property - description of the feature
-description=\n\
-\n\
-The fixes are described in the following bugzilla entries:\n\
-\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=201942 Web App Libraries container causes hang\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=204315 Web Lib projects being added to the EAR\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=204833 deadlock caused by WebServiceViewerSynchronization\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=200193 Cannot use Java project for BUJava\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=215537 J2EEComponentProjectMigrator always adding WebAppLibrary classpath container\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=215538 Several problems with J2EE and Web Dependencies properties pages\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=216779 Unable to add specific project to web library\n\
-Bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=205126 Java Utility jars containg wrong archive name\n\ 
-\n\
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-September 27, 2007\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.xml b/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.xml
deleted file mode 100644
index 3e49fa0..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/feature.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jst.enterprise_ui.feature.patch"
-      label="%featureName"
-      version="1.5.5.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <requires>
-      <import feature="org.eclipse.jst.enterprise_ui.feature" version="1.5.5.v200707311635-pEBqMgr5s5Phpf6" patch="true"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.jst.j2ee.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.servlet.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.j2ee.webservice.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.ws.consumption.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jst.ws.creation.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.jst.enterprise_ui.feature.patch/license.html b/features/org.eclipse.jst.enterprise_ui.feature.patch/license.html
deleted file mode 100644
index 2347060..0000000
--- a/features/org.eclipse.jst.enterprise_ui.feature.patch/license.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>January 28, 2005</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>) 
-
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>) 
-
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>) 
-
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>) 
-
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) 
-  </LI></UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
diff --git a/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html b/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html
index d8571ad..26e8dd2 100644
--- a/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html
+++ b/features/org.eclipse.jst.web_core.feature.patch/buildnotes_org.eclipse.jst.web_core.feature.patch.html
@@ -9,10 +9,96 @@
 
 <body>
 
-<h1>WTP 3.0.1 Patches</h1>
+<h1>WTP 3.0.5 Patches</h1>
 
-<p>Bug <a href="https://bugs.eclipse.org/243747">243747</a>.
-"Cannot find the tag library descriptor" after removing a taglib file with duplicate URI.</p>
+<p>Bug <a href='https://bugs.eclipse.org/272389'>272389</a>. tokenizers stuck in loop when input not matched</p>
+<p>Bug <a href='https://bugs.eclipse.org/278131'>278131</a>. StackOverflow thrown in JDOMSearchHelper.findInnerJavaElement</p>
+<p>Bug <a href='https://bugs.eclipse.org/279038'>279038</a>. JSP opens dirty if content type header misspells "charset"</p>
+<p>Bug <a href='https://bugs.eclipse.org/279175'>279175</a>. An internal error occurred during: "Validation TestEJB".</p>
+<p>Bug <a href='https://bugs.eclipse.org/281147'>281147</a>. problem adding ee5 libs to container</p>
+<p>Bug <a href='https://bugs.eclipse.org/281562'>281562</a>. Unsafe JDT calls in classpath container code</p>
+<p>Bug <a href='https://bugs.eclipse.org/283176'>283176</a>. NPE in EARArtifactEdit.getModuleByManifestURI(String uri)</p>
+<p>Bug <a href='https://bugs.eclipse.org/283209'>283209</a>. !MESSAGE Exception while reading /EAR5Client/.classpath</p>
+<p>Bug <a href='https://bugs.eclipse.org/283318'>283318</a>. Single root check failing when source folder mapped but deleted</p>
+<p>Bug <a href='https://bugs.eclipse.org/283580'>283580</a>. EAR 5.0 libs performance and missing updates</p>
+<p>Bug <a href='https://bugs.eclipse.org/283601'>283601</a>. For Web Project verify source folders and web content do not collide</p>
+<p>Bug <a href='https://bugs.eclipse.org/283632'>283632</a>. EJb ref validation in EAR validator need to throw error message</p>
+<p>Bug <a href='https://bugs.eclipse.org/284302'>284302</a>. Memory leaks in IArchive classes</p>
+<p>Bug <a href='https://bugs.eclipse.org/284327'>284327</a>. Memory leaks because of final static constants</p>
+<p>Bug <a href='https://bugs.eclipse.org/284932'>284932</a>. TaglibIndex optimization ignores important resource change events</p>
+<p>Bug <a href='https://bugs.eclipse.org/285087'>285087</a>. JSP Translator does not support IterationTag constructs</p>
+<p>Bug <a href='https://bugs.eclipse.org/286937'>286937</a>. ExceptionInInitializerError from TaglibHelper.isIterationTag in log</p>
+<p>Bug <a href='https://bugs.eclipse.org/286969'>286969</a>. Java string constants containing entity references get decoded</p>
+<p>Bug <a href='https://bugs.eclipse.org/287742'>287742</a>. EAR import showing ejb client jars on second page when it should not</p>
+<p>Bug <a href='https://bugs.eclipse.org/287749'>287749</a>. Core exceptions during EAR import</p>
+<p>Bug <a href='https://bugs.eclipse.org/288184'>288184</a>. Ear import fails if two EJB modules use same client jar</p>
+<p>Bug <a href='https://bugs.eclipse.org/288832'>288832</a>. IArchive performance problems with large amount of files within single archive</p>
+<p>Bug <a href='https://bugs.eclipse.org/289203'>289203</a>. Facet classpath utility not properly migrating legacy projects</p>
+<p>Bug <a href='https://bugs.eclipse.org/288290'>288290</a>. NPEs in TLDCMDocumentManager</p>
+<p>Bug <a href='https://bugs.eclipse.org/289257'>289257</a>. [translation] JSPTranslator should handle assignment in JSP expressions</p>
+<p>Bug <a href='https://bugs.eclipse.org/290832'>290832</a>. Backport the fix for bugzilla#260931 to wtp 3.0.5</p>
+<p>Bug <a href='https://bugs.eclipse.org/290738'>290738</a>. False errors/warnings when validating expressions with maps</p>
+<p>Bug <a href='https://bugs.eclipse.org/290543'>290543</a>. Backport the fix for bugilla#282936 to wtp 3.0.5</p>
+<p>Bug <a href='https://bugs.eclipse.org/290412'>290412</a>. Performance problem in method TypeUtil.resolveInParents()</p>
+<p>Bug <a href='https://bugs.eclipse.org/290581'>290581</a>. Manual validation is cleaning up the already validated cache on every call</p>
+<p>Bug <a href='https://bugs.eclipse.org/290742'>290742</a>. EAR Export not properly closing 1.4 archives</p>
+<p>Bug <a href='https://bugs.eclipse.org/290757'>290757</a>. 'Prepare for Deployment' error message states "J2EEDeployOperation_2_UI_"</p>
+<p>Bug <a href='https://bugs.eclipse.org/290837'>290837</a>. Exceptions from JEM in adopter product</p>
+<p>Bug <a href="https://bugs.eclipse.org/290966">290966</a>. JSP include directives do not handle non-JSP content types</p>
+<p>Bug <a href="https://bugs.eclipse.org/291143">291143</a>. Mechanism to expose WEB-INF/lib classpath component dependencies</p>
+<p>Bug <a href='https://bugs.eclipse.org/291225'>291225</a>. Output folder support in JavaEE projects</p>
+<p>Bug <a href='https://bugs.eclipse.org/291251'>291251</a>. API needed to determine if project has no single root and reasons why</p>
+<p>Bug <a href='https://bugs.eclipse.org/291266'>291266</a>. Deleting java source folders should remove the corresponding artifacts from the .settings/org.eclipse.wst.common.component file</p>
+<p>Bug <a href='https://bugs.eclipse.org/291536'>291536</a>. Session Bean remote interface validation should be error for missing methods</p>
+<p>Bug <a href='https://bugs.eclipse.org/249044'>249044</a>. Web module's jar modules from another project are not published for Tomcat.</p>
+<p>Bug <a href='https://bugs.eclipse.org/272013'>272013</a>. JEM JemProjectUtilities#getClasspathAsURLArray(IJavaProject) fails to handle class folders</p>
+<p>Bug <a href='https://bugs.eclipse.org/290739'>290739</a>. Don't validate the expression segments after the map if the map value type is Object</p>
+<p>Bug <a href='https://bugs.eclipse.org/292079'>292079</a>. [parser] Scriptlet in <script> attribute tags can cause the region to not be block text</p>
+<p>Bug <a href='https://bugs.eclipse.org/292081'>292081</a>. [translation] Javascript can cause custom tags to not be translated</p>
+<p>Bug <a href='https://bugs.eclipse.org/292162'>292162</a>. isSingleRoot API should allow non Java src folder as output for JCA</p>
+<p>Bug <a href='https://bugs.eclipse.org/292177'>292177</a>. [validation] JSPDirectiveValidator#processTaglibDirective should handle URL Taglib Records</p>
+<p>Bug <a href='https://bugs.eclipse.org/292186'>292186</a>. WebLib Quick fixes reverting exclusions</p>
+<p>Bug <a href='https://bugs.eclipse.org/293047'>293047</a>. Problem with WTPWorkingCopyManager and deleting projects</p>
+<p>Bug <a href='https://bugs.eclipse.org/293502'>293502</a>. Performance degradation because of JavaLite calls</p>
+<p>Bug <a href='https://bugs.eclipse.org/293685'>293685</a>. JAX-RPC client JSPs: JSPG0036E: Failed to find resource /sampleEchoProxy/TestClient.jsp</p>
+<p>Bug <a href='https://bugs.eclipse.org/293992'>293992</a>. [validation] JSPBatchValidator is taking substantially longer when needed taglibs are not on class path</p>
+<p>Bug <a href='https://bugs.eclipse.org/293981'>293981</a>. [validation] Attributes do not indicate problems with dynamic content in rtexprvalue attributes</p>
+<p>Bug <a href='https://bugs.eclipse.org/294369'>294369</a>. EAR 5.0 Lib utility deployment</p>
+<p>Bug <a href='https://bugs.eclipse.org/294490'>294490</a>. EAR Libraries container miscomputing because of stale IJavaLite</p>
+<p>Bug <a href='https://bugs.eclipse.org/293211'>293211</a>. Performance problem when validate managed properties</p>
+<p>Bug <a href='https://bugs.eclipse.org/294627'>294627</a>. Deleting folders should remove entry from .settings/org.eclipse.wst.common.component file</p>
+<p>Bug <a href='https://bugs.eclipse.org/295353'>295353</a>. Adding module to application.xml no longer generating "id" attributes</p>
+<p>Bug <a href='https://bugs.eclipse.org/294716'>294716</a>. ClasspathDecorationsManager may cause SAXParseException</p>
+<p>Bug <a href='https://bugs.eclipse.org/295617'>295617</a>. Web project creation does not honour user input</p>
+<p>Bug <a href='https://bugs.eclipse.org/295728'>295728</a>. Deferred EL expressions are being marked with validation problems</p>
+<p>Bug <a href='https://bugs.eclipse.org/296719'>296719</a>. Runtime Change Delegate throws NPE when changing from Unknown Runtime type</p>
+<p>Bug <a href='https://bugs.eclipse.org/298796'>298796</a>. isSingleRoot API should not require a Java src folder</p>
+<p>Bug <a href='https://bugs.eclipse.org/293504'>293504</a>. [validation] JSP syntax validator requires brackets after IF statement</p>
+<p>Bug <a href='https://bugs.eclipse.org/297852'>297852</a>. Error log entry for ArrayIndexOutOfBoundsException related to Annotations and EMF</p>
+<p>Bug <a href='https://bugs.eclipse.org/298891'>298891</a>. Classpath initialization is very slow for complex EARs</p>
+<p>Bug <a href='https://bugs.eclipse.org/299156'>299156</a>. [parser] JSPTokenizer does not detect Unicode character references as you type</p>
+<p>Bug <a href='https://bugs.eclipse.org/299393'>299393</a>. Validation of runtime expressions in JSP custom tag attributes</p>
+<p>Bug <a href='https://bugs.eclipse.org/299432'>299432</a>. J2EE Deployment framework doesn't allow facet exclusions</p>
+<p>Bug <a href='https://bugs.eclipse.org/299437'>299437</a>. NPEs logged due to bug 295353</p>
+<p>Bug <a href='https://bugs.eclipse.org/299488'>299488</a>. [translation] XMLJSPRegionHelper#decodeRemainingRegions can cause NPE</p>
+<p>Bug <a href='https://bugs.eclipse.org/299489'>299489</a>. [content model] CMDocumentFactoryTLD#getContainedText can cause NPE</p>
+<p>Bug <a href='https://bugs.eclipse.org/299541'>299541</a>. Excessive logging in TaglibClassLoader</p>
+<p>Bug <a href='https://bugs.eclipse.org/299655'>299655</a>. ClasspathSelection needs better error handling</p>
+<p>Bug <a href='https://bugs.eclipse.org/299785'>299785</a>. HTML causes validation errors in Tag files</p>
+<p>Bug <a href='https://bugs.eclipse.org/300062'>300062</a>. Performance improvement of VirtualComponent caching</p>
+<p>Bug <a href='https://bugs.eclipse.org/300098'>300098</a>. 'In Lib Dir' checkbox being ignored when a jar dependency is added to an EAR</p>
+<p>Bug <a href='https://bugs.eclipse.org/300183'>300183</a>. Componentcore.createComponent returns a null value when called from adopter product</p>
+<p>Bug <a href='https://bugs.eclipse.org/300387'>300387</a>. Need to protect against NPE in adopter J2EEElementChangedListener</p>
+<p>Bug <a href='https://bugs.eclipse.org/301419'>301419</a>. IllegalException thrown during deployment</p>
+<p>Bug <a href='https://bugs.eclipse.org/301477'>301477</a>. EAR Libraries container missing entries on restart</p>
+<p>Bug <a href='https://bugs.eclipse.org/301540'>301540</a>. Incorrect reporting of JSP problems</p>
+<p>Bug <a href='https://bugs.eclipse.org/301598'>301598</a>. [translation] Cannot be resolved errors when Struts <bean:define> is defined within <input type> HTML tag</p>
+<p>Bug <a href='https://bugs.eclipse.org/303070'>303070</a>. random build/compile error due to out of sync deployment descriptor</p>
+<p>Bug <a href='https://bugs.eclipse.org/303140'>303140</a>. ComponentArchiveSaveAdapter incorrectly handles .settings files</p>
+<p>Bug <a href='https://bugs.eclipse.org/303131'>303131</a>. J2EEComponentClasspathContainer.getEARLibDir should check both DD and facet version</p>
+<p>Bug <a href='https://bugs.eclipse.org/303963'>303963</a>. Error Exception logged during deploy</p>
+<p>Bug <a href='https://bugs.eclipse.org/305252'>305252</a>. ClassCastException:j2ee.application.internal.impl.ApplicationImpl incompatible with javaee.application.Application</p>
+<p>Bug <a href='https://bugs.eclipse.org/305253'>305253</a>. Performance issue in Manual EAR validation</p>
 
 </body>
 </html>
\ No newline at end of file
diff --git a/features/org.eclipse.jst.web_core.feature.patch/feature.properties b/features/org.eclipse.jst.web_core.feature.patch/feature.properties
index ab40244..bd94a35 100644
--- a/features/org.eclipse.jst.web_core.feature.patch/feature.properties
+++ b/features/org.eclipse.jst.web_core.feature.patch/feature.properties
@@ -15,7 +15,7 @@
 # This file should be translated.
 
 # "featureName" property - name of the feature
-featureName=JST Web Core Patches
+featureName=WTP Patches for org.eclipse.jst.web_core.feature
 
 # "providerName" property - name of the company that provides the feature
 providerName=Eclipse.org
@@ -27,8 +27,95 @@
 description=\
 The bugs and fixes are described in the following bugzilla entries:\n\
 \n\
-Bug https://bugs.eclipse.org/243747 Cannot find the tag library descriptor" after removing a taglib file with duplicate URI.\n\
-
+Bug https://bugs.eclipse.org/272389 tokenizers stuck in loop when input not matched\n\
+Bug https://bugs.eclipse.org/278131 StackOverflow thrown in JDOMSearchHelper.findInnerJavaElement\n\
+Bug https://bugs.eclipse.org/279038 JSP opens dirty if content type header misspells "charset"\n\
+Bug https://bugs.eclipse.org/279175 An internal error occurred during: "Validation TestEJB".\n\
+Bug https://bugs.eclipse.org/281147 problem adding ee5 libs to container\n\
+Bug https://bugs.eclipse.org/281562 Unsafe JDT calls in classpath container code\n\
+Bug https://bugs.eclipse.org/283176 NPE in EARArtifactEdit.getModuleByManifestURI(String uri)\n\
+Bug https://bugs.eclipse.org/283209 !MESSAGE Exception while reading /EAR5Client/.classpath\n\
+Bug https://bugs.eclipse.org/283318 Single root check failing when source folder mapped but deleted\n\
+Bug https://bugs.eclipse.org/283580 EAR 5.0 libs performance and missing updates\n\
+Bug https://bugs.eclipse.org/283601 For Web Project verify source folders and web content do not collide\n\
+Bug https://bugs.eclipse.org/283632 EJb ref validation in EAR validator need to throw error message\n\
+Bug https://bugs.eclipse.org/284302 Memory leaks in IArchive classes\n\
+Bug https://bugs.eclipse.org/284327 Memory leaks because of final static constants\n\
+Bug https://bugs.eclipse.org/284932 TaglibIndex optimization ignores important resource change events\n\
+Bug https://bugs.eclipse.org/285087 JSP Translator does not support IterationTag constructs\n\
+Bug https://bugs.eclipse.org/286937 ExceptionInInitializerError from TaglibHelper.isIterationTag in log\n\
+Bug https://bugs.eclipse.org/286969 Java string constants containing entity references get decoded\n\
+Bug https://bugs.eclipse.org/287742 EAR import showing ejb client jars on second page when it should not\n\
+Bug https://bugs.eclipse.org/287749 Core exceptions during EAR import\n\
+Bug https://bugs.eclipse.org/288184 Ear import fails if two EJB modules use same client jar\n\
+Bug https://bugs.eclipse.org/288832 IArchive performance problems with large amount of files within single archive\n\
+Bug https://bugs.eclipse.org/289203 Facet classpath utility not properly migrating legacy projects\n\
+Bug https://bugs.eclipse.org/288290 NPEs in TLDCMDocumentManager\n\
+Bug https://bugs.eclipse.org/289257 [translation] JSPTranslator should handle assignment in JSP expressions\n\
+Bug https://bugs.eclipse.org/290832 Backport the fix for bugzilla#260931 to wtp 3.0.5\n\
+Bug https://bugs.eclipse.org/290738 False errors/warnings when validating expressions with maps\n\
+Bug https://bugs.eclipse.org/290543 Backport the fix for bugilla#282936 to wtp 3.0.5\n\
+Bug https://bugs.eclipse.org/290412 Performance problem in method TypeUtil.resolveInParents()\n\
+Bug https://bugs.eclipse.org/290581 Manual validation is cleaning up the already validated cache on every call\n\
+Bug https://bugs.eclipse.org/290742 EAR Export not properly closing 1.4 archives\n\
+Bug https://bugs.eclipse.org/290757 'Prepare for Deployment' error message states "J2EEDeployOperation_2_UI_"\n\
+Bug https://bugs.eclipse.org/290837 Exceptions from JEM in adopter product\n\
+Bug https://bugs.eclipse.org/290966 JSP include directives do not handle non-JSP content types\n\
+Bug https://bugs.eclipse.org/291143 Mechanism to expose WEB-INF/lib classpath component dependencies\n\
+Bug https://bugs.eclipse.org/291225 Output folder support in JavaEE projects\n\
+Bug https://bugs.eclipse.org/291251 API needed to determine if project has no single root and reasons why\n\
+Bug https://bugs.eclipse.org/291266 Deleting java source folders should remove the corresponding artifacts from the .settings/org.eclipse.wst.common.component file\n\
+Bug https://bugs.eclipse.org/291536 Session Bean remote interface validation should be error for missing methods\n\
+Bug https://bugs.eclipse.org/249044 Web module's jar modules from another project are not published for Tomcat.\n\
+Bug https://bugs.eclipse.org/272013 JEM JemProjectUtilities#getClasspathAsURLArray(IJavaProject) fails to handle class folders\n\
+Bug https://bugs.eclipse.org/290739 Don't validate the expression segments after the map if the map value type is Object\n\
+Bug https://bugs.eclipse.org/292079 [parser] Scriptlet in <script> attribute tags can cause the region to not be block text\n\
+Bug https://bugs.eclipse.org/292081 [translation] Javascript can cause custom tags to not be translated\n\
+Bug https://bugs.eclipse.org/292162 isSingleRoot API should allow non Java src folder as output for JCA\n\
+Bug https://bugs.eclipse.org/292177 [validation] JSPDirectiveValidator#processTaglibDirective should handle URL Taglib Records\n\
+Bug https://bugs.eclipse.org/292186 WebLib Quick fixes reverting exclusions\n\
+Bug https://bugs.eclipse.org/293047 Problem with WTPWorkingCopyManager and deleting projects\n\
+Bug https://bugs.eclipse.org/293502 Performance degradation because of JavaLite calls\n\
+Bug https://bugs.eclipse.org/293685 JAX-RPC client JSPs: JSPG0036E: Failed to find resource /sampleEchoProxy/TestClient.jsp\n\
+Bug https://bugs.eclipse.org/293992 [validation] JSPBatchValidator is taking substantially longer when needed taglibs are not on class path\n\
+Bug https://bugs.eclipse.org/293981 [validation] Attributes do not indicate problems with dynamic content in rtexprvalue attributes\n\
+Bug https://bugs.eclipse.org/294369 EAR 5.0 Lib utility deployment\n\
+Bug https://bugs.eclipse.org/294490 EAR Libraries container miscomputing because of stale IJavaLite\n\
+Bug https://bugs.eclipse.org/293211 Performance problem when validate managed properties\n\
+Bug https://bugs.eclipse.org/294627 Deleting folders should remove entry from .settings/org.eclipse.wst.common.component file\n\
+Bug https://bugs.eclipse.org/295353 Adding module to application.xml no longer generating "id" attributes\n\
+Bug https://bugs.eclipse.org/294716 ClasspathDecorationsManager may cause SAXParseException\n\
+Bug https://bugs.eclipse.org/295617 Web project creation does not honour user input\n\
+Bug https://bugs.eclipse.org/295728 Deferred EL expressions are being marked with validation problems\n\
+Bug https://bugs.eclipse.org/296719 Runtime Change Delegate throws NPE when changing from Unknown Runtime type\n\
+Bug https://bugs.eclipse.org/298796 isSingleRoot API should not require a Java src folder\n\
+Bug https://bugs.eclipse.org/293504 [validation] JSP syntax validator requires brackets after IF statement\n\
+Bug https://bugs.eclipse.org/297852 Error log entry for ArrayIndexOutOfBoundsException related to Annotations and EMF\n\
+Bug https://bugs.eclipse.org/298891 Classpath initialization is very slow for complex EARs\n\
+Bug https://bugs.eclipse.org/299156 [parser] JSPTokenizer does not detect Unicode character references as you type\n\
+Bug https://bugs.eclipse.org/299393 Validation of runtime expressions in JSP custom tag attributes\n\
+Bug https://bugs.eclipse.org/299432 J2EE Deployment framework doesn't allow facet exclusions\n\
+Bug https://bugs.eclipse.org/299437 NPEs logged due to bug 295353\n\
+Bug https://bugs.eclipse.org/299488 [translation] XMLJSPRegionHelper#decodeRemainingRegions can cause NPE\n\
+Bug https://bugs.eclipse.org/299489 [content model] CMDocumentFactoryTLD#getContainedText can cause NPE\n\
+Bug https://bugs.eclipse.org/299541 Excessive logging in TaglibClassLoader\n\
+Bug https://bugs.eclipse.org/299655 ClasspathSelection needs better error handling\n\
+Bug https://bugs.eclipse.org/299785 HTML causes validation errors in Tag files\n\
+Bug https://bugs.eclipse.org/300062 Performance improvement of VirtualComponent caching\n\
+Bug https://bugs.eclipse.org/300098 'In Lib Dir' checkbox being ignored when a jar dependency is added to an EAR\n\
+Bug https://bugs.eclipse.org/300183 Componentcore.createComponent returns a null value when called from adopter product\n\
+Bug https://bugs.eclipse.org/300387 Need to protect against NPE in adopter J2EEElementChangedListener\n\
+Bug https://bugs.eclipse.org/301419 IllegalException thrown during deployment\n\
+Bug https://bugs.eclipse.org/301477 EAR Libraries container missing entries on restart\n\
+Bug https://bugs.eclipse.org/301540 Incorrect reporting of JSP problems\n\
+Bug https://bugs.eclipse.org/301598 [translation] Cannot be resolved errors when Struts <bean:define> is defined within <input type> HTML tag\n\
+Bug https://bugs.eclipse.org/303070 random build/compile error due to out of sync deployment descriptor\n\
+Bug https://bugs.eclipse.org/303140 ComponentArchiveSaveAdapter incorrectly handles .settings files\n\
+Bug https://bugs.eclipse.org/303131 J2EEComponentClasspathContainer.getEARLibDir should check both DD and facet version\n\
+Bug https://bugs.eclipse.org/303963 Error Exception logged during deploy\n\
+Bug https://bugs.eclipse.org/305252 ClassCastException:j2ee.application.internal.impl.ApplicationImpl incompatible with javaee.application.Application\n\
+Bug https://bugs.eclipse.org/305253 Performance issue in Manual EAR validation\n\
+\n\
 # "copyright" property - text of the "Feature Update Copyright"
 copyright=\
 Copyright (c) 2008 IBM Corporation and others.\n\
diff --git a/features/org.eclipse.jst.web_core.feature.patch/feature.xml b/features/org.eclipse.jst.web_core.feature.patch/feature.xml
index 6c8e109..d94f9ed 100644
--- a/features/org.eclipse.jst.web_core.feature.patch/feature.xml
+++ b/features/org.eclipse.jst.web_core.feature.patch/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.web_core.feature.patch"
       label="%featureName"
-      version="3.0.1.qualifier"
+      version="3.0.5.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -18,12 +18,77 @@
    </license>
 
    <requires>
-      <import feature="org.eclipse.jst.web_core.feature" version="3.0.1.v200807220252-7M7AEUwEFp_acwcTs1eRz-u" patch="true"/>
+      <import feature="org.eclipse.jst.web_core.feature" version="3.0.5.v200904242131-7Q7AEfJEHhHehPlW6SaE4u" patch="true"/>
    </requires>
+
+   <plugin
+         id="org.eclipse.jem"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jem.workbench"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jst.common.annotations.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jst.common.frameworks"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
    <plugin
          id="org.eclipse.jst.jsp.core"
          download-size="0"
          install-size="0"
          version="0.0.0"
          unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jst.j2ee.web"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jst.j2ee.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jst.j2ee"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jst.jsf.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jst.jsf.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+         
 </feature>
diff --git a/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 04a5d48..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Jul 25 14:00:45 EDT 2007
-eclipse.preferences.version=1
-encoding//j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/earlibraries.properties=8859_1
diff --git a/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 6cf9579..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Apr 13 14:16:39 EDT 2007
-eclipse.preferences.version=1
-internal.default.compliance=default
diff --git a/plugins/org.eclipse.jst.j2ee.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.j2ee.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index aa262e1..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,75 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.jst.j2ee.ui; singleton:=true
-Bundle-Version: 1.1.201.qualifier
-Bundle-Activator: org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jst.common.jdt.internal.integration.ui;x-internal:=true,
- org.eclipse.jst.j2ee.internal;x-internal:=true,
- org.eclipse.jst.j2ee.internal.actions;x-internal:=true,
- org.eclipse.jst.j2ee.internal.classpathdep.ui,
- org.eclipse.jst.j2ee.internal.client.actions;x-internal:=true,
- org.eclipse.jst.j2ee.internal.command;x-internal:=true,
- org.eclipse.jst.j2ee.internal.deployables;x-internal:=true,
- org.eclipse.jst.j2ee.internal.dialogs;x-internal:=true,
- org.eclipse.jst.j2ee.internal.ear.actions;x-internal:=true,
- org.eclipse.jst.j2ee.internal.ejb.provider;x-internal:=true,
- org.eclipse.jst.j2ee.internal.listeners;x-internal:=true,
- org.eclipse.jst.j2ee.internal.perspective;x-internal:=true,
- org.eclipse.jst.j2ee.internal.plugin;x-internal:=true,
- org.eclipse.jst.j2ee.internal.provider;x-internal:=true,
- org.eclipse.jst.j2ee.internal.ui;x-internal:=true,
- org.eclipse.jst.j2ee.internal.ui.util;x-internal:=true,
- org.eclipse.jst.j2ee.internal.war.ui.util;x-internal:=true,
- org.eclipse.jst.j2ee.internal.wizard;x-internal:=true,
- org.eclipse.jst.j2ee.ui.archive,
- org.eclipse.jst.j2ee.ui.archive.internal,
- org.eclipse.jst.j2ee.ui.project.facet,
- org.eclipse.jst.j2ee.ui.project.facet.appclient
-Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.common.frameworks.ui;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.j2ee;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.j2ee.ejb;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.j2ee.jca;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.j2ee.web;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.emf.edit.ui;bundle-version="[2.2.0,3.0.0)",
- org.eclipse.jdt.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.validation;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.jst.j2ee.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.emfworkbench.integration;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jem.workbench;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jem;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.server.core;bundle-version="[1.0.102,2.0.0)",
- org.eclipse.wst.server.ui;bundle-version="[1.0.102,2.0.0)",
- org.eclipse.wst.common.emf;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="[2.2.0,3.0.0)",
- org.eclipse.ltk.core.refactoring;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.web;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.debug.ui;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.editors;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.wst.sse.core;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jem.util;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.jst.common.annotations.controller;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.jst.j2ee.ejb.annotation.model;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.wst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.wst.common.project.facet.ui;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.jst.server.core;bundle-version="[1.0.102,2.0.0)",
- org.eclipse.wst.web.ui;bundle-version="[1.1.0,1.2.0)",
- org.eclipse.ui.navigator.resources;bundle-version="[3.2.0,4.0.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui.navigator;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.jst.jee;bundle-version="[1.0.0,1.1.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.jst.j2ee.ui/build.properties b/plugins/org.eclipse.jst.j2ee.ui/build.properties
deleted file mode 100644
index 55ac828..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.xml,\
-               icons/,\
-               plugin.properties,\
-               .,\
-               META-INF/,\
-               about.html
-jars.compile.order = .
-source.. = j2ee_ui/,\
-                     property_files/
-output.. = bin/
-src.includes = plugin.properties,\
-               plugin.xml
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/20_cmpbean_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/20_cmpbean_obj.gif
deleted file mode 100644
index 023fe8d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/20_cmpbean_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/adown.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/adown.gif
deleted file mode 100644
index 91e708f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/adown.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/appclientgroup_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/appclientgroup_obj.gif
deleted file mode 100644
index 2768428..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/appclientgroup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/arrow_down.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/arrow_down.gif
deleted file mode 100644
index 3c455c9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/arrow_down.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/arrowp.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/arrowp.gif
deleted file mode 100644
index a906320..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/arrowp.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left.gif
deleted file mode 100644
index 788e76d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left2.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left2.gif
deleted file mode 100644
index 3e31054..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_left2.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_right.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_right.gif
deleted file mode 100644
index 573b60f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/cascade_right.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/cmp.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/cmp.gif
deleted file mode 100644
index 20ed1f9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/cmp.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/connectorgroup_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/connectorgroup_obj.gif
deleted file mode 100644
index ad3af3c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/connectorgroup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/deadend.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/deadend.gif
deleted file mode 100644
index 5df6193..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/deadend.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/ear-wiz-banner.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/ear-wiz-banner.gif
deleted file mode 100644
index 625e763..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/ear-wiz-banner.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/ear-wiz-icon.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/ear-wiz-icon.gif
deleted file mode 100644
index 8b409b5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/ear-wiz-icon.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/ear.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/ear.gif
deleted file mode 100644
index f52fa97..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/ear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/eargroup_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/eargroup_obj.gif
deleted file mode 100644
index 2eeb3ef..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/eargroup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/ejbgroup_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/ejbgroup_obj.gif
deleted file mode 100644
index b0adb3e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/ejbgroup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/folder.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/folder.gif
deleted file mode 100644
index c91b267..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/folder.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_client_remove_action_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_client_remove_action_obj.gif
deleted file mode 100644
index 1823211..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_client_remove_action_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_deploy_action_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_deploy_action_obj.gif
deleted file mode 100644
index db8945f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/clcl16/ejb_deploy_action_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_export.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_export.gif
deleted file mode 100644
index 6f83300..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_export.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_import_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_import_wiz.gif
deleted file mode 100644
index ce667f4..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/appclient_import_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/ejbclientjar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/ejbclientjar_wiz.gif
deleted file mode 100644
index 6e65e7d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/ejbclientjar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ear.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ear.gif
deleted file mode 100644
index 2270b17..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ejbjar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ejbjar_wiz.gif
deleted file mode 100644
index 72cd417..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_ejbjar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_rar.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_rar.gif
deleted file mode 100644
index befb3d4..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/export_rar.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/exportwar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/exportwar_wiz.gif
deleted file mode 100644
index ced859d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/exportwar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ear.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ear.gif
deleted file mode 100644
index 099201b..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ear.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ejbjar.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ejbjar.gif
deleted file mode 100644
index 5644b48..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_ejbjar.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_rar.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_rar.gif
deleted file mode 100644
index 50f25a2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/import_rar.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/importwar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/importwar_wiz.gif
deleted file mode 100644
index 432c066..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/importwar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newappclient_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newappclient_wiz.gif
deleted file mode 100644
index 0ce86a1..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newappclient_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newconnectionprj_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newconnectionprj_wiz.gif
deleted file mode 100644
index 1bec6ba..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newconnectionprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newear_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newear_wiz.gif
deleted file mode 100644
index 8b409b5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newear_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newejbprj_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newejbprj_wiz.gif
deleted file mode 100644
index ecda22b..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newejbprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newwar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newwar_wiz.gif
deleted file mode 100644
index b9ac6be..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/newwar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/re_execute.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/re_execute.gif
deleted file mode 100644
index 8f943a8..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ctool16/re_execute.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_perspective.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_perspective.gif
deleted file mode 100644
index 20acd4c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_perspective.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_view.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_view.gif
deleted file mode 100644
index 20acd4c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/cview16/j2ee_view.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_client_remove_action_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_client_remove_action_obj.gif
deleted file mode 100644
index 928a0bf..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_client_remove_action_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_deploy_action_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_deploy_action_obj.gif
deleted file mode 100644
index 9657388..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/dlcl16/ejb_deploy_action_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/13_ear_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/13_ear_obj.gif
deleted file mode 100644
index 54b9b17..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/13_ear_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_cmpbean_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_cmpbean_obj.gif
deleted file mode 100644
index 35835bc..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_cmpbean_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejb_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejb_obj.gif
deleted file mode 100644
index 673ba6a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejb_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejbjar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejbjar_wiz.gif
deleted file mode 100644
index 9dae052..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/21_ejbjar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/annotation_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/annotation_positioned_overlay.gif
deleted file mode 100644
index cec1d2d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/annotation_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14.gif
deleted file mode 100644
index b248380..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14_deploy.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14_deploy.gif
deleted file mode 100644
index b0d08af..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/appclient_14_deploy.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/extwebserviceitemprovider_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/extwebserviceitemprovider_obj.gif
deleted file mode 100644
index f4cc6e3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/extwebserviceitemprovider_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/home_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/home_interface_positioned_overlay.gif
deleted file mode 100644
index 91a756a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/home_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/library_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/library_obj.gif
deleted file mode 100644
index cb55e33..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/library_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_home_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_home_interface_positioned_overlay.gif
deleted file mode 100644
index e5d6090..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_home_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_interface_positioned_overlay.gif
deleted file mode 100644
index 156febe..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/local_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/remote_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/remote_interface_positioned_overlay.gif
deleted file mode 100644
index 203e398..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/remote_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/service_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/service_interface_positioned_overlay.gif
deleted file mode 100644
index 6146667..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/service_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServiceItemProvider_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServiceItemProvider_obj.gif
deleted file mode 100644
index 8fb844f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServiceItemProvider_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServicesFolder_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServicesFolder_obj.gif
deleted file mode 100644
index ab3039c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webServicesFolder_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webapp_14.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webapp_14.gif
deleted file mode 100644
index 83f9165..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webapp_14.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_bean_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_bean_overlay.gif
deleted file mode 100644
index f277755..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_bean_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_positioned_overlay.gif
deleted file mode 100644
index cec1d2d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/annotation_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/client_app_ovr.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/client_app_ovr.gif
deleted file mode 100644
index 3ff1ca5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/client_app_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/connector_ovr.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/connector_ovr.gif
deleted file mode 100644
index b7e77bc..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/connector_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/dis_annotation_bean_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/dis_annotation_bean_overlay.gif
deleted file mode 100644
index dac498a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/dis_annotation_bean_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/ejb_module_ovr.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/ejb_module_ovr.gif
deleted file mode 100644
index cf50d6d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/ejb_module_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/enterprise_app_ovr.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/enterprise_app_ovr.gif
deleted file mode 100644
index ec19c47..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/enterprise_app_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/externalWebServiceOverlay_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/externalWebServiceOverlay_obj.gif
deleted file mode 100644
index daff412..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/externalWebServiceOverlay_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_overlay_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_overlay_obj.gif
deleted file mode 100644
index 48380fc..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_overlay_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_positioned_overlay.gif
deleted file mode 100644
index 91a756a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/home_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/key_interf_ov.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/key_interf_ov.gif
deleted file mode 100644
index 3070440..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/key_interf_ov.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_overlay_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_overlay_obj.gif
deleted file mode 100644
index d782734..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_overlay_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_positioned_overlay.gif
deleted file mode 100644
index e5d6090..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_home_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_overlay_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_overlay_obj.gif
deleted file mode 100644
index 43e1655..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_overlay_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_positioned_overlay.gif
deleted file mode 100644
index 156febe..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/local_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_overlay_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_overlay_obj.gif
deleted file mode 100644
index 19c9cae..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_overlay_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_positioned_overlay.gif
deleted file mode 100644
index 203e398..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/remote_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_overlay_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_overlay_obj.gif
deleted file mode 100644
index 93f0679..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_overlay_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_positioned_overlay.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_positioned_overlay.gif
deleted file mode 100644
index 6146667..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/service_interface_positioned_overlay.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/web_module_ovr.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/web_module_ovr.gif
deleted file mode 100644
index c1e9617..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/ovr16/web_module_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_mess_dest_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_mess_dest_wiz_ban.gif
deleted file mode 100644
index f9941ce..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_mess_dest_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_web_service_handler_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_web_service_handler_wiz.gif
deleted file mode 100644
index e1fa98a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/add_web_service_handler_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addauthoritycontraints_wiz_.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addauthoritycontraints_wiz_.gif
deleted file mode 100644
index 2ec0ffb..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addauthoritycontraints_wiz_.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcmpfiled_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcmpfiled_wiz_ban.gif
deleted file mode 100644
index 879329e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcmpfiled_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcontextparameter_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcontextparameter_wiz_ban.gif
deleted file mode 100644
index 6457e12..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addcontextparameter_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addenvirentry_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addenvirentry_wiz_ban.gif
deleted file mode 100644
index 653ab02..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addenvirentry_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/adderrorcodeerror_wiz_ban.g.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/adderrorcodeerror_wiz_ban.g.gif
deleted file mode 100644
index 2eb9efe..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/adderrorcodeerror_wiz_ban.g.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addexceptionerrorpage_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addexceptionerrorpage_wiz_ban.gif
deleted file mode 100644
index e12d2ac..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addexceptionerrorpage_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addfiltermapping_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addfiltermapping_wiz_ban.gif
deleted file mode 100644
index 5b53010..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addfiltermapping_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addhandlersoapheader_wiz_ba.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addhandlersoapheader_wiz_ba.gif
deleted file mode 100644
index 189c3e9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addhandlersoapheader_wiz_ba.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addjsppropgropu_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addjsppropgropu_wiz_ban.gif
deleted file mode 100644
index 624fe7f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addjsppropgropu_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addlocencodingmap_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addlocencodingmap_wiz_ban.gif
deleted file mode 100644
index 46e3e08..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addlocencodingmap_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addmimemapping_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addmimemapping_wiz_ban.gif
deleted file mode 100644
index bb856a4..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addmimemapping_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addservletmapping_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addservletmapping_wiz_ban.gif
deleted file mode 100644
index 2820c5a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addservletmapping_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addtaglibref_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addtaglibref_wiz_ban.gif
deleted file mode 100644
index d238b56..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addtaglibref_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebSecuritycontraint_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebSecuritycontraint_wiz.gif
deleted file mode 100644
index fc97d84..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebSecuritycontraint_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebrescollection_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebrescollection_wiz_ban.gif
deleted file mode 100644
index 7dfe6e9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebrescollection_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebsecurityroleref_wiz_b.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebsecurityroleref_wiz_b.gif
deleted file mode 100644
index aab4b50..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwebsecurityroleref_wiz_b.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwelcomepage_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwelcomepage_wiz_ban.gif
deleted file mode 100644
index e0f50cc..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/addwelcomepage_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/appclient_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/appclient_wiz.gif
deleted file mode 100644
index 56d7fa7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/appclient_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connection_migration_wizard_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connection_migration_wizard_wiz.gif
deleted file mode 100644
index e9ecba5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connection_migration_wizard_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connector_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connector_wiz.gif
deleted file mode 100644
index 231f8d3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/connector_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ear_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ear_wiz.gif
deleted file mode 100644
index 625e763..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ear_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbclientjar_wizban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbclientjar_wizban.gif
deleted file mode 100644
index 231da61..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbclientjar_wizban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbproject_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbproject_wiz.gif
deleted file mode 100644
index 7f2aa1e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/ejbproject_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_appclient_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_appclient_wiz.gif
deleted file mode 100644
index 3515396..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_appclient_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ear_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ear_wiz.gif
deleted file mode 100644
index a327fa6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ear_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ejbjar_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ejbjar_obj.gif
deleted file mode 100644
index adca79e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_ejbjar_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_rar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_rar_wiz.gif
deleted file mode 100644
index 6047f1a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_rar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_war_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_war_wiz.gif
deleted file mode 100644
index d251242..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/export_war_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_appclient_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_appclient_wiz.gif
deleted file mode 100644
index 351a31d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_appclient_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_class_file_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_class_file_wiz_ban.gif
deleted file mode 100644
index 81b1e3f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_class_file_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ear_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ear_wiz.gif
deleted file mode 100644
index 67754de..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ear_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ejbjar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ejbjar_wiz.gif
deleted file mode 100644
index d123519..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_ejbjar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_rar_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_rar_wiz.gif
deleted file mode 100644
index ea9dff4..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_rar_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_war_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_war_wiz.gif
deleted file mode 100644
index 514274d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/import_war_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/init_param_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/init_param_wiz_ban.gif
deleted file mode 100644
index 3fb6df4..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/init_param_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_jms_creation_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_jms_creation_wiz.gif
deleted file mode 100644
index 51b1d5a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_jms_creation_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_non_jms_creation_wi.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_non_jms_creation_wi.gif
deleted file mode 100644
index 51b1d5a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/mdb_2_1_non_jms_creation_wi.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/newservlet_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/newservlet_wiz.gif
deleted file mode 100644
index 147e57a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/newservlet_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/versionmigrate3_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/versionmigrate3_wiz.gif
deleted file mode 100644
index 9b72bf5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/versionmigrate3_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/war_wiz.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/war_wiz.gif
deleted file mode 100644
index d964e2e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/war_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/web_library_project_wiz_ban.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/web_library_project_wiz_ban.gif
deleted file mode 100644
index 767a416..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/full/wizban/web_library_project_wiz_ban.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/jar_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/jar_obj.gif
deleted file mode 100644
index ec315d5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/jar_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/jcu_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/jcu_obj.gif
deleted file mode 100644
index 36a73ac..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/jcu_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/key_interf_ov.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/key_interf_ov.gif
deleted file mode 100644
index 3070440..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/key_interf_ov.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/left_arrow.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/left_arrow.gif
deleted file mode 100644
index 3bc3831..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/left_arrow.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/right_arrow.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/right_arrow.gif
deleted file mode 100644
index d03e351..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/right_arrow.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/servlet.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/servlet.gif
deleted file mode 100644
index fc1bece..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/servlet.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/sessionBean_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/sessionBean_obj.gif
deleted file mode 100644
index 507b8a8..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/sessionBean_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/showerr_tsk.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/showerr_tsk.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/showerr_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/showwarn_tsk.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/showwarn_tsk.gif
deleted file mode 100644
index 14009e9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/showwarn_tsk.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/srvce_elem_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/srvce_elem_obj.gif
deleted file mode 100644
index 6fdcb3f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/srvce_elem_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/util-wiz-banner.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/util-wiz-banner.gif
deleted file mode 100644
index 9b93c9a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/util-wiz-banner.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/util-wiz-icon.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/util-wiz-icon.gif
deleted file mode 100644
index 2038b22..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/util-wiz-icon.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/webgroup_obj.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/webgroup_obj.gif
deleted file mode 100644
index 274d361..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/webgroup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/webservicedesc.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/webservicedesc.gif
deleted file mode 100644
index 8fb844f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/webservicedesc.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/wsdl.gif b/plugins/org.eclipse.jst.j2ee.ui/icons/wsdl.gif
deleted file mode 100644
index 8fb844f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/icons/wsdl.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/common/jdt/internal/integration/ui/WTPUIWorkingCopyManager.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/common/jdt/internal/integration/ui/WTPUIWorkingCopyManager.java
deleted file mode 100644
index 686b14e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/common/jdt/internal/integration/ui/WTPUIWorkingCopyManager.java
+++ /dev/null
@@ -1,474 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.common.jdt.internal.integration.ui;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.javaeditor.ICompilationUnitDocumentProvider;
-import org.eclipse.jdt.internal.ui.javaeditor.InternalClassFileEditorInput;
-import org.eclipse.jdt.ui.IWorkingCopyManager;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jst.common.jdt.internal.integration.WTPWorkingCopyManager;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.wst.common.frameworks.internal.SaveFailedException;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- * Insert the type's description here. Creation date: (4/25/2001 7:05:36 PM)
- * 
- * @author: Administrator
- */
-public class WTPUIWorkingCopyManager extends WTPWorkingCopyManager {
-	private IWorkingCopyManager javaWorkingCopyManager;
-	private ICompilationUnitDocumentProvider cuDocumentProvider;
-	private HashMap editorInputs;
-	private CoreException lastError;
-
-	/**
-	 * WTPUIWorkingCopyManager constructor comment.
-	 */
-	public WTPUIWorkingCopyManager() {
-		super();
-		cuDocumentProvider = JavaPlugin.getDefault().getCompilationUnitDocumentProvider();
-		javaWorkingCopyManager = JavaUI.getWorkingCopyManager();
-	}
-
-	protected void syncConnect(final IEditorInput input, final ICompilationUnit cu) throws CoreException {
-		Display d = Display.getCurrent();
-		if (d != null) {
-			lastError = null;
-			d.syncExec(new Runnable() {
-				public void run() {
-					try {
-						connect(input, cu);
-					} catch (CoreException e) {
-						lastError = e;
-					}
-				}
-			});
-		} else
-			connect(input, cu);
-		if (lastError != null)
-			throw lastError;
-	}
-
-	/**
-	 * Connect the CompilationUnitDocumentProvider to the
-	 * 
-	 * @input and connect the annotation model from the provider to the IDocument of the
-	 * @input.
-	 */
-	protected void connect(IEditorInput input, ICompilationUnit cu) throws CoreException {
-		if (input != null && javaWorkingCopyManager != null && cuDocumentProvider != null ) {
-			javaWorkingCopyManager.connect(input);
-			getEditorInputs().put(cu, input);
-			IDocument doc = cuDocumentProvider.getDocument(input);
-			if (doc != null && cuDocumentProvider.getAnnotationModel(input)!= null)
-				cuDocumentProvider.getAnnotationModel(input).connect(doc);
-		}
-	}
-
-	protected void revertWorkingCopies() {
-		if (getEditorInputs().isEmpty())
-			return;
-		Iterator it = getEditorInputs().values().iterator();
-		IEditorInput input;
-		while (it.hasNext()) {
-			input = (IEditorInput) it.next();
-			revert(input);
-		}
-	}
-
-	/**
-	 * Disonnect the CompilationUnitDocumentProvider from the
-	 * 
-	 * @input and disconnect the annotation model from the provider from the IDocument of the
-	 * @input.
-	 */
-	protected void disconnect(IEditorInput input) {
-		IDocument doc = cuDocumentProvider.getDocument(input);
-		cuDocumentProvider.getAnnotationModel(input).disconnect(doc);
-		javaWorkingCopyManager.disconnect(input);
-	}
-
-	protected void revert(IEditorInput input) {
-		try {
-			cuDocumentProvider.resetDocument(input);
-		} catch (CoreException e) {
-			Logger.getLogger().logError(e);
-		}
-		IDocument doc = cuDocumentProvider.getDocument(input);
-		IAnnotationModel model = cuDocumentProvider.getAnnotationModel(input);
-
-		if (model instanceof AbstractMarkerAnnotationModel) {
-			AbstractMarkerAnnotationModel markerModel = (AbstractMarkerAnnotationModel) model;
-			markerModel.resetMarkers();
-		}
-		model.disconnect(doc);
-		javaWorkingCopyManager.disconnect(input);
-	}
-
-	protected void disconnectEditorInputs() {
-		Iterator it = getEditorInputs().values().iterator();
-		IEditorInput input;
-		while (it.hasNext()) {
-			input = (IEditorInput) it.next();
-			disconnect(input);
-		}
-	}
-
-	protected void discardExistingCompilationUnits() {
-		if (getEditorInputs().isEmpty())
-			return;
-		Iterator it = getEditorInputs().values().iterator();
-		IEditorInput input;
-		while (it.hasNext()) {
-			input = (IEditorInput) it.next();
-			disconnect(input);
-		}
-	}
-
-	public Set getAffectedFiles() {
-		Set aSet = new HashSet();
-		Iterator it = getEditorInputs().keySet().iterator();
-		ICompilationUnit unit = null;
-		IResource resource = null;
-		while (it.hasNext()) {
-			unit = (ICompilationUnit) it.next();
-			if (isDirty(unit)) {
-				try {
-					resource = unit.getUnderlyingResource();
-				} catch (JavaModelException ignore) {
-					continue;
-				}
-				if (resource instanceof IFile)
-					aSet.add(resource);
-			}
-		}
-		return aSet;
-	}
-
-	protected IEditorInput getEditorInput(ICompilationUnit cu) {
-		IEditorInput input = primGetEditorInput(cu);
-		if (input == null) {
-			try {
-				input = getEditorInput((IJavaElement) cu);
-			} catch (JavaModelException e) {
-				//Ignore
-			}
-		}
-		return input;
-	}
-
-	protected IEditorInput getEditorInput(IJavaElement element) throws JavaModelException {
-		while (element != null) {
-			switch (element.getElementType()) {
-				case IJavaElement.COMPILATION_UNIT : {
-					ICompilationUnit cu = (ICompilationUnit) element;
-					if (cu.isWorkingCopy())
-						cu = cu.getPrimary();
-					IResource resource = cu.getUnderlyingResource();
-					if (resource.getType() == IResource.FILE)
-						return new FileEditorInput((IFile) resource);
-					break;
-				}
-				case IJavaElement.CLASS_FILE :
-					return new InternalClassFileEditorInput((IClassFile) element);
-			}
-			element = element.getParent();
-		}
-		return null;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (4/25/2001 7:30:20 PM)
-	 * 
-	 * @return java.util.HashMap
-	 */
-	protected java.util.HashMap getEditorInputs() {
-		if (editorInputs == null)
-			editorInputs = new HashMap(20);
-		return editorInputs;
-	}
-
-	/**
-	 * Returns the working copy remembered for the compilation unit encoded in the given editor
-	 * input. Does not connect the edit model to the working copy.
-	 * 
-	 * @param input
-	 *            ICompilationUnit
-	 * @return the working copy of the compilation unit, or <code>null</code> if the input does
-	 *         not encode an editor input, or if there is no remembered working copy for this
-	 *         compilation unit
-	 */
-	public org.eclipse.jdt.core.ICompilationUnit getExistingWorkingCopy(ICompilationUnit cu) throws CoreException {
-		if (cu == null || cu.isWorkingCopy()) {
-			return cu;
-		}
-		ICompilationUnit newCU = super.getExistingWorkingCopy(cu);
-		if (newCU != null)
-			return newCU;
-		IEditorInput editorInput = getEditorInput(cu);
-		return javaWorkingCopyManager.getWorkingCopy(editorInput);
-	}
-
-	/**
-	 * Returns the working copy remembered for the compilation unit.
-	 * 
-	 * @param input
-	 *            ICompilationUnit
-	 * @return the working copy of the compilation unit, or <code>null</code> if there is no
-	 *         remembered working copy for this compilation unit
-	 */
-	public org.eclipse.jdt.core.ICompilationUnit getWorkingCopy(ICompilationUnit cu, boolean forNewCU) throws org.eclipse.core.runtime.CoreException {
-		if (forNewCU)
-			return super.getWorkingCopy(cu, forNewCU);
-		return primGetWorkingCopy(cu);
-	}
-
-	public boolean isDirty(ICompilationUnit cu) {
-		if (cu == null)
-			return false;
-		IDocumentProvider p = cuDocumentProvider;
-		return p == null ? false : p.canSaveDocument(getEditorInput(cu));
-	}
-
-	/**
-	 * mustSaveDocument method comment.
-	 */
-	public boolean isSaveNeeded() {
-		Iterator it = getEditorInputs().entrySet().iterator();
-		while (it.hasNext()) {
-			if (cuDocumentProvider.mustSaveDocument(it.next()))
-				return true;
-		}
-		return false;
-	}
-
-	protected void primDispose() {
-		super.primDispose();
-		discardExistingCompilationUnits();
-		editorInputs = null;
-		javaWorkingCopyManager = null;
-	}
-
-	protected void primRevert() {
-		super.primRevert();
-		revertWorkingCopies();
-		editorInputs = null;
-		javaWorkingCopyManager = null;
-	}
-
-	protected IEditorInput primGetEditorInput(ICompilationUnit cu) {
-		return (IEditorInput) getEditorInputs().get(cu);
-	}
-
-	/**
-	 * Returns the working copy remembered for the compilation unit encoded in the given editor
-	 * input.
-	 * 
-	 * @param input
-	 *            ICompilationUnit
-	 * @return the working copy of the compilation unit, or <code>null</code> if the input does
-	 *         not encode an editor input, or if there is no remembered working copy for this
-	 *         compilation unit
-	 */
-	protected org.eclipse.jdt.core.ICompilationUnit primGetWorkingCopy(ICompilationUnit cu) throws CoreException {
-		if (cu == null) {
-			return cu;
-		}
-		ICompilationUnit primary = cu.getPrimary();
-		ICompilationUnit newCU = getNewCompilationUnitWorkingCopy(primary);
-		if (newCU != null)
-			return newCU;
-		IEditorInput editorInput = primGetEditorInput(primary);
-		if (editorInput == null) {
-			editorInput = getEditorInput(cu);
-			syncConnect(editorInput, cu);
-		}
-		if (cu.isWorkingCopy())
-			return cu;
-		return javaWorkingCopyManager.getWorkingCopy(editorInput);
-	}
-
-	/**
-	 * This will save all of the referenced CompilationUnits to be saved.
-	 */
-	protected void primSaveCompilationUnits(org.eclipse.core.runtime.IProgressMonitor monitor) {
-		super.primSaveCompilationUnits(null);
-		saveExistingCompilationUnits(monitor);
-	}
-
-	protected void primSaveDocument(IEditorInput input, IDocument doc, IProgressMonitor monitor) throws CoreException {
-		try {
-			cuDocumentProvider.saveDocument(monitor, input, doc, true); // overwrite if needed
-		} catch (CoreException ex) {
-			if (!isFailedWriteFileFailure(ex))
-				throw ex;
-			IResource resource = (IResource) input.getAdapter(IRESOURCE_CLASS);
-			if (resource == null || resource.getType() != IResource.FILE || !resource.getResourceAttributes().isReadOnly())
-				throw ex;
-
-			if (getSaveHandler().shouldContinueAndMakeFileEditable((IFile) resource))
-				cuDocumentProvider.saveDocument(monitor, input, doc, false);
-			else
-				throw ex;
-		}
-	}
-
-	protected void saveDocument(IEditorInput input, IProgressMonitor monitor) {
-		IDocument doc = cuDocumentProvider.getDocument(input);
-		boolean canSave = cuDocumentProvider.canSaveDocument(input);
-		try {
-			if (canSave) {
-				ICompilationUnit unit = javaWorkingCopyManager.getWorkingCopy(input);
-				synchronized (unit) {
-					cuDocumentProvider.aboutToChange(input);
-					primSaveDocument(input, doc, monitor);
-				}
-			}
-		} catch (CoreException e) {
-			WTPCommonPlugin.getDefault().getLogger().logError(e);
-			throw new SaveFailedException(e);
-		} finally {
-			if (canSave)
-				cuDocumentProvider.changed(input);
-		}
-	}
-
-	/**
-	 * This will save all of the referenced CompilationUnits to be saved.
-	 */
-	protected void saveExistingCompilationUnits(org.eclipse.core.runtime.IProgressMonitor monitor) {
-		if (getEditorInputs().isEmpty())
-			return;
-		if (!validateState()) {
-			if (monitor != null)
-				monitor.setCanceled(true);
-			return;
-		}
-		Iterator it = getEditorInputs().entrySet().iterator();
-		Map.Entry entry;
-		//	ICompilationUnit cu;
-		IEditorInput input;
-		try {
-			while (it.hasNext()) {
-				entry = (Map.Entry) it.next();
-				//			cu = (ICompilationUnit) entry.getKey();
-				input = (IEditorInput) entry.getValue();
-				try {
-					saveDocument(input, null);
-				} finally {
-					disconnect(input);
-				}
-			}
-		} finally {
-			getEditorInputs().clear();
-		}
-	}
-
-	/**
-	 * Call validateEdit for all read only IFiles corresponding to each WorkingCopy.
-	 * 
-	 * @return boolean
-	 */
-	private boolean validateState() {
-		List readOnlyFiles = getReadOnlyModifiedFiles();
-		if (readOnlyFiles != null && !readOnlyFiles.isEmpty()) {
-			IFile[] files = new IFile[readOnlyFiles.size()];
-			readOnlyFiles.toArray(files);
-			IWorkbenchWindow win = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-			Object ctx = win == null ? null : win.getShell();
-			IStatus status = ResourcesPlugin.getWorkspace().validateEdit(files, ctx);
-			return status.isOK();
-		}
-		return true;
-	}
-
-	private List getReadOnlyModifiedFiles() {
-		List readOnlyFiles = null;
-		IFile readOnlyFile = null;
-		Iterator it = getEditorInputs().entrySet().iterator();
-		Map.Entry entry;
-		//	ICompilationUnit cu;
-		IEditorInput input;
-		IDocumentProvider docProv = cuDocumentProvider;
-		while (it.hasNext()) {
-			readOnlyFile = null;
-			entry = (Map.Entry) it.next();
-			//		cu = (ICompilationUnit) entry.getKey();
-			input = (IEditorInput) entry.getValue();
-			if (docProv.canSaveDocument(input))
-				readOnlyFile = getReadOnlyFile(input);
-			if (readOnlyFile != null) {
-				if (readOnlyFiles == null)
-					readOnlyFiles = new ArrayList();
-				readOnlyFiles.add(readOnlyFile);
-			}
-		}
-		return readOnlyFiles;
-	}
-
-	private IFile getReadOnlyFile(IEditorInput input) {
-		if (input instanceof IFileEditorInput) {
-			IFileEditorInput finput = (IFileEditorInput) input;
-			IFile file = finput.getFile();
-			if (file.isReadOnly())
-				return file;
-		}
-		return null;
-	}
-
-
-	protected void addDeletedCompilationUnit(ICompilationUnit cu) {
-		IEditorInput input = primGetEditorInput(cu);
-		if (input != null)
-			disconnect(input);
-		getEditorInputs().remove(cu);
-		super.addDeletedCompilationUnit(cu);
-	}
-
-	/**
-	 * @see com.ibm.etools.j2ee.workbench.IJ2EEWorkingCopyManager#hasWorkingCopies()
-	 */
-	public boolean hasWorkingCopies() {
-		return super.hasWorkingCopies() || (editorInputs != null && !editorInputs.isEmpty());
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java
deleted file mode 100644
index 67fdc5c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AddModulestoEARPropertiesPage.java
+++ /dev/null
@@ -1,1205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *	   David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *     Stefan Dimov, stefan.dimov@sap.com - bugs 207826, 222651
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.wizards.BuildPathDialogAccess;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider;
-import org.eclipse.jst.j2ee.application.internal.operations.RemoveComponentFromEnterpriseApplicationDataModelProvider;
-import org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProperties;
-import org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProvider;
-import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent;
-import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
-import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
-import org.eclipse.jst.j2ee.internal.dialogs.ChangeLibDirDialog;
-import org.eclipse.jst.j2ee.internal.dialogs.DependencyConflictResolveDialog;
-import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.internal.ui.DoubleCheckboxTableItem;
-import org.eclipse.jst.j2ee.internal.ui.DoubleCheckboxTableViewer;
-import org.eclipse.jst.j2ee.model.IEARModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.j2ee.project.EarUtilities;
-import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
-import org.eclipse.jst.j2ee.project.facet.EarFacetRuntimeHandler;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
-import org.eclipse.jst.j2ee.project.facet.IJavaProjectMigrationDataModelProperties;
-import org.eclipse.jst.j2ee.project.facet.JavaProjectMigrationDataModelProvider;
-import org.eclipse.jst.javaee.application.Application;
-import org.eclipse.jst.jee.project.facet.EarCreateDeploymentFilesDataModelProvider;
-import org.eclipse.jst.jee.project.facet.ICreateDeploymentFilesDataModelProperties;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphManager;
-import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.operation.RemoveReferenceComponentsDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-
-public class AddModulestoEARPropertiesPage implements IJ2EEDependenciesControl, Listener {
-
-	protected final IProject project;
-	protected final J2EEDependenciesPage propPage; 
-	protected IVirtualComponent earComponent = null;
-	protected Text componentNameText;
-	protected Label availableModules;
-	protected CheckboxTableViewer availableComponentsViewer;
-	protected Button selectAllButton;
-	protected Button deselectAllButton;
-	protected Button projectJarButton;
-	protected Button externalJarButton;
-	protected Button addVariableButton;
-	protected Button changeLibPathButton;
-	protected Composite buttonColumn;
-
-	protected String libDir = null;
-	protected String oldLibDir;
-	protected List j2eeComponentList = new ArrayList();
-	protected List javaProjectsList = new ArrayList();
-	protected List j2eeLibElementList = new ArrayList();
-	protected List javaLibProjectsList = new ArrayList();	
-	protected static final IStatus OK_STATUS = IDataModelProvider.OK_STATUS;
-	protected boolean isVersion5;
-	protected Set libsToUncheck;
-	
-	//[Bug 238264] the cached list of jars selected using 'add jar' or 'add external jars'
-	protected List<IVirtualComponent> addedJARComponents = new ArrayList<IVirtualComponent>();
-
-
-	/**
-	 * Constructor for AddModulestoEARPropertiesControl.
-	 */
-	public AddModulestoEARPropertiesPage(final IProject project, final J2EEDependenciesPage page) { 
-		this.project = project;
-		this.propPage = page;
-		earComponent = ComponentCore.createComponent(project);
-		boolean hasEE5Facet = false;
-		try {
-			IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-			if(facetedProject != null){
-				IProjectFacetVersion facetVersion = facetedProject.getProjectFacetVersion(EarUtilities.ENTERPRISE_APPLICATION_FACET);
-				if(facetVersion.equals(EarUtilities.ENTERPRISE_APPLICATION_50)){
-					hasEE5Facet = true;
-				}
-			}
-		} catch (CoreException e) {
-			Logger.getLogger().log(e);
-		}
-		
-		if(hasEE5Facet){
-			String earDDVersion = JavaEEProjectUtilities.getJ2EEDDProjectVersion(project);
-			if (earDDVersion.equals(J2EEVersionConstants.VERSION_5_0_TEXT)) {
-				isVersion5 = true;
-				Application app = (Application)ModelProviderManager.getModelProvider(project).getModelObject();
-				if (app != null)
-					oldLibDir = app.getLibraryDirectory();
-				if (oldLibDir == null) oldLibDir = J2EEConstants.EAR_DEFAULT_LIB_DIR;
-				libDir = oldLibDir;
-			}
-		}
-		libsToUncheck = new HashSet();
-	}
-	
-	public Composite createContents(final Composite parent) { 
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        J2EEDependenciesPage.createDescriptionComposite(composite, ManifestUIResourceHandler.EAR_Modules_Desc);
-		createListGroup(composite);
-		refresh();
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	protected void createListGroup(Composite parent) {
-		Composite listGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		listGroup.setLayout(layout);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		gData.horizontalIndent = 5;
-		listGroup.setLayoutData(gData);
-
-		availableModules = new Label(listGroup, SWT.NONE);
-		gData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		availableModules.setText(J2EEUIMessages.getResourceString("AVAILABLE_J2EE_COMPONENTS")); //$NON-NLS-1$ = "Available dependent JARs:"
-		availableModules.setLayoutData(gData);
-		createTableComposite(listGroup);
-	}
-
-	public boolean performOk() {
-		NullProgressMonitor monitor = new NullProgressMonitor();
-		if (isVersion5) {
-			if (libDir.length() == 0) {
-				
-				MessageDialog dlg = new MessageDialog(null,  
-						J2EEUIMessages.getResourceString(J2EEUIMessages.BLANK_LIB_DIR),
-			            null, J2EEUIMessages.getResourceString(J2EEUIMessages.BLANK_LIB_DIR_WARN_QUESTION), 
-			            MessageDialog.QUESTION, new String[] {J2EEUIMessages.YES_BUTTON, 
-																J2EEUIMessages.NO_BUTTON, 
-																J2EEUIMessages.CANCEL_BUTTON}, 1);
-				switch (dlg.open()) {
-					case 0: break; 
-					case 1: {
-						handleChangeLibDirButton(false);
-						return false;
-					}
-					case 2: return false;
-					default: return false;
-				}			
-			}			
-			updateLibDir(monitor);
-		}
-		removeModulesFromEAR(monitor);		
-		addModulesToEAR(monitor);
-		refresh();
-		return true;
-	}
-	
-	public void performDefaults() {
-	}
-	
-	public boolean performCancel() {
-		return true;
-	}
-	
-	public void dispose() {
-	}
-
-	public void setVisible(boolean visible) {
-	}
-	
-	private List newJ2EEModulesToAdd(boolean inLibFolder){
-		if (inLibFolder && !isVersion5) return null;
-		List newComps = new ArrayList();
-		List comps = inLibFolder ? j2eeLibElementList : j2eeComponentList;
-		if (comps != null && !comps.isEmpty()){
-			for (int i = 0; i < comps.size(); i++){
-				IVirtualComponent handle = (IVirtualComponent)comps.get(i);
-				if (ClasspathDependencyUtil.isClasspathComponentDependency(handle)) {
-					continue;
-				}
-				if( !inEARAlready(handle))
-					newComps.add(handle);
-			}
-		}
-		return newComps;
-	}
-		
-	private void updateLibDir(IProgressMonitor monitor) {
-		if (libDir.equals(oldLibDir)) return;
-		final IEARModelProvider earModel = (IEARModelProvider)ModelProviderManager.getModelProvider(project);
-		final Application app = (Application)ModelProviderManager.getModelProvider(project).getModelObject();
-		oldLibDir = app.getLibraryDirectory();
-		if (oldLibDir == null) oldLibDir = J2EEConstants.EAR_DEFAULT_LIB_DIR;
-		earModel.modify(new Runnable() {
-			public void run() {			
-			app.setLibraryDirectory(libDir);
-		}}, null);
-	}
-	
-	protected void createDD(IProgressMonitor monitor) {
-		if( earComponent != null ){
-			IDataModelOperation op = generateEARDDOperation();
-			try {
-				op.execute(monitor, null);
-			} catch (ExecutionException e) {
-				Logger.getLogger().log(e);
-			}
-		}
-	}
-	
-	private void execAddOp(IProgressMonitor monitor, List componentList, String path) throws CoreException {
-		if (componentList == null || componentList.isEmpty()) return;
-		IDataModel dm = DataModelFactory.createDataModel(new AddComponentToEnterpriseApplicationDataModelProvider());
-		
-		dm.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earComponent);					
-		dm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, componentList);
-		
-		//[Bug 238264] the uri map needs to be manually set correctly
-		Map uriMap = new HashMap();
-		IVirtualComponent virtComp;
-		String virtCompURIMapName;
-		for(int i=0; i<componentList.size(); i++) {
-			virtComp = (IVirtualComponent)componentList.get(i);
-			virtCompURIMapName = getVirtualComponentNameWithExtension(virtComp);	
-			uriMap.put(virtComp, virtCompURIMapName);
-		}
-		dm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_TO_URI_MAP, uriMap);
-		
-        if (isVersion5) dm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH, path);
-
-		IStatus stat = dm.validateProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		if (stat != OK_STATUS)
-			throw new CoreException(stat);
-		try {
-			dm.getDefaultOperation().execute(monitor, null);
-		} catch (ExecutionException e) {
-			Logger.getLogger().log(e);
-		}		
-	}
-	
-	private void execAddOp1(IProgressMonitor monitor, List jProjList, List j2eeCompList, String path)
-													throws CoreException {
-		if (!jProjList.isEmpty()) {
-			Set moduleProjects = new HashSet();
-			for (int i = 0; i < jProjList.size(); i++) {
-				try {
-					IProject proj = (IProject) jProjList.get(i);
-					moduleProjects.add(proj);
-					IDataModel migrationdm = DataModelFactory.createDataModel(new JavaProjectMigrationDataModelProvider());
-					migrationdm.setProperty(IJavaProjectMigrationDataModelProperties.PROJECT_NAME, proj.getName());
-					migrationdm.getDefaultOperation().execute(monitor, null);
-
-
-					IDataModel refdm = DataModelFactory.createDataModel(new CreateReferenceComponentsDataModelProvider());
-					List targetCompList = (List) refdm.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-
-					IVirtualComponent targetcomponent = ComponentCore.createComponent(proj);
-					targetCompList.add(targetcomponent);
-
-					refdm.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earComponent);
-					refdm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, targetCompList);
-					if (isVersion5) refdm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH, path);
-					
-
-					// referenced java projects should have archiveName attribute
-					((Map)refdm.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_TO_URI_MAP)).put(targetcomponent, proj.getName().replace(' ', '_') + IJ2EEModuleConstants.JAR_EXT);
-
-					refdm.getDefaultOperation().execute(monitor, null);
-					j2eeCompList.add(targetcomponent);
-				} catch (ExecutionException e) {
-					Logger.getLogger().log(e);
-				}
-			}
-			EarFacetRuntimeHandler.updateModuleProjectRuntime(earComponent.getProject(), moduleProjects, new NullProgressMonitor());
-		} // end 
-		
-	}
-	
-	private IStatus addModulesToEAR(IProgressMonitor monitor) {
-		IStatus stat = OK_STATUS;
-		try {
-			if( earComponent != null ){
-				final List list = newJ2EEModulesToAdd(false);
-				final List bndList = newJ2EEModulesToAdd(true);
-				final boolean shouldRun = (list != null && !list.isEmpty()) || !javaProjectsList.isEmpty();
-				final boolean shouldBndRun = isVersion5 && 
-											((bndList != null && !bndList.isEmpty()) || !javaLibProjectsList.isEmpty());
-				if(shouldRun || shouldBndRun){
-					IWorkspaceRunnable runnable = new IWorkspaceRunnable(){
-
-						public void run(IProgressMonitor monitor) throws CoreException{
-							if (shouldRun) {
-								execAddOp(monitor, list, J2EEConstants.EAR_ROOT_DIR);
-								execAddOp1(monitor, javaProjectsList, j2eeComponentList, J2EEConstants.EAR_ROOT_DIR);								
-							} 
-							if (shouldBndRun) {
-								execAddOp(monitor, bndList, libDir);
-								execAddOp1(monitor, javaLibProjectsList, j2eeLibElementList, libDir);																
-							} 
-						}
-					};
-					J2EEUIPlugin.getWorkspace().run(runnable, monitor);
-				}
-			}
-		} catch (Exception e) {
-			Logger.getLogger().log(e);
-		}
-		
-		//[Bug 238264] clear out the cache because they should all either be added as references now
-		//	or no longer checked and therefor not wanted by the user
-		this.addedJARComponents.clear();
-		
-		return OK_STATUS;
-	}
-	
-	private void remComps(List list, String path) {
-		if( !list.isEmpty()){
-			try {
-				// retrieve all dependencies on these components within the scope of the EAR
-				Map dependentComps = getEARModuleDependencies(earComponent, list);
-				// remove the components from the EAR
-				IDataModelOperation op = removeComponentFromEAROperation(earComponent, list, path);
-				op.execute(null, null);
-				// if that succeeded, remove all EAR-scope J2EE dependencies on these components
-				J2EEComponentClasspathUpdater.getInstance().queueUpdateEAR(earComponent.getProject());
-				removeEARComponentDependencies(dependentComps);
-			} catch (ExecutionException e) {
-				Logger.getLogger().log(e);
-			}
-		}	
-	}
-	
-	private IStatus removeModulesFromEAR(IProgressMonitor monitor) {
-		IStatus stat = OK_STATUS;
-		if (!isVersion5) {
-			if(earComponent != null && j2eeComponentList != null) {
-				List list = getComponentsToRemove();
-				remComps(list, J2EEConstants.EAR_ROOT_DIR);
-			}			
-		} else {	
-			if( earComponent != null && j2eeComponentList != null) {
-				List[] list = getComponentsToRemoveUpdate(!libDir.equals(oldLibDir)); 
-				remComps(list[0], J2EEConstants.EAR_ROOT_DIR);
-				
-				remComps(list[1], oldLibDir);
-			}
-		}
-		return stat;
-	}		
-	
-	private Map getEARModuleDependencies(final IVirtualComponent earComponent, final List components) {
-		final Map dependentComps = new HashMap();
-		// get all current references to project within the scope of this EAR
-		for (int i = 0; i < components.size(); i++) {
-			
-			final List compsForProject = new ArrayList();
-			final IVirtualComponent comp = (IVirtualComponent) components.get(i);
-			final IProject[] dependentProjects = DependencyGraphManager.getInstance().getDependencyGraph().getReferencingComponents(comp.getProject());
-			for (int j = 0; j < dependentProjects.length; j++) {
-				final IProject project = dependentProjects[j];
-				// if this is an EAR, can skip
-				if (J2EEProjectUtilities.isEARProject(project)) {
-					continue;
-				}
-				final IVirtualComponent dependentComp = ComponentCore.createComponent(project);
-				// ensure that the project's share an EAR
-				final IProject[] refEARs = J2EEProjectUtilities.getReferencingEARProjects(project);
-				boolean sameEAR = false;
-				for (int k = 0; k < refEARs.length; k++) {
-					if (refEARs[k].equals(earComponent.getProject())) {
-						sameEAR = true;
-						break;
-					}
-				}
-				if (!sameEAR) {
-					continue;
-				}
-				// if the dependency is a web lib dependency, can skip
-				if (J2EEProjectUtilities.isDynamicWebProject(project)) {
-					IVirtualReference ref = dependentComp.getReference(comp.getName());
-					if (ref != null && ref.getRuntimePath().equals(new Path("/WEB-INF/lib"))) { //$NON-NLS-1$
-						continue;
-					}
-				}
-				compsForProject.add(dependentComp);
-			}
-			dependentComps.put(comp, compsForProject);
-		}
-		return dependentComps;
-	}
-	
-	private void removeEARComponentDependencies(final Map dependentComps) throws ExecutionException {
-		final Iterator targets = dependentComps.keySet().iterator();
-		while (targets.hasNext()) {
-			final IVirtualComponent target = (IVirtualComponent) targets.next();
-			final List sources = (List) dependentComps.get(target);
-			for (int i = 0; i < sources.size(); i++) {
-				final IVirtualComponent source = (IVirtualComponent) sources.get(i);
-				final IDataModel model = DataModelFactory.createDataModel(new RemoveReferenceComponentsDataModelProvider());
-				model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, source);
-				final List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-				modHandlesList.add(target);
-				model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-				model.getDefaultOperation().execute(null, null);
-				// update the manifest
-				removeManifestDependency(source, target);
-			}
-		}
-	}
-	
-	private void removeManifestDependency(final IVirtualComponent source, final IVirtualComponent target) 
-		throws ExecutionException {
-		final String sourceProjName = source.getProject().getName();
-		String targetProjName; 
-		if (target instanceof J2EEModuleVirtualArchiveComponent) {
-			targetProjName = ((J2EEModuleVirtualArchiveComponent)target).getName();
-			String[] pathSegments = targetProjName.split("" + IPath.SEPARATOR);
-			targetProjName = pathSegments[pathSegments.length - 1];
-		} else {
-			targetProjName = target.getProject().getName();
-		}
-		final IProgressMonitor monitor = new NullProgressMonitor();
-		final IFile manifestmf = J2EEProjectUtilities.getManifestFile(source.getProject());
-		final ArchiveManifest mf = J2EEProjectUtilities.readManifest(source.getProject());
-		if (mf == null)
-			return;
-		final IDataModel updateManifestDataModel = DataModelFactory.createDataModel(new UpdateManifestDataModelProvider());
-		updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.PROJECT_NAME, sourceProjName);
-		updateManifestDataModel.setBooleanProperty(UpdateManifestDataModelProperties.MERGE, false);
-		updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.MANIFEST_FILE, manifestmf);
-		String[] cp = mf.getClassPathTokenized();
-		List cpList = new ArrayList();
-		String cpToRemove = (targetProjName.endsWith(".jar")) ? 
-				targetProjName : 
-					targetProjName + ".jar";//$NON-NLS-1$
-		for (int i = 0; i < cp.length; i++) {
-			if (!cp[i].equals(cpToRemove)) {
-				cpList.add(cp[i]);
-			}
-		}
-		updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.JAR_LIST, cpList);
-		updateManifestDataModel.getDefaultOperation().execute(monitor, null );
-	}
-	
-	protected IDataModelOperation generateEARDDOperation() {		
-		IDataModel model = DataModelFactory.createDataModel(new EarCreateDeploymentFilesDataModelProvider());
-		model.setProperty(ICreateDeploymentFilesDataModelProperties.GENERATE_DD, earComponent);					
-		model.setProperty(ICreateDeploymentFilesDataModelProperties.TARGET_PROJECT, project);		
-		return model.getDefaultOperation();
-	}
-	
-	protected IDataModelOperation removeComponentFromEAROperation(IVirtualComponent sourceComponent, List targetComponentsHandles, String dir) {
-		IDataModel model = DataModelFactory.createDataModel(new RemoveComponentFromEnterpriseApplicationDataModelProvider());
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, sourceComponent);
-		List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		modHandlesList.addAll(targetComponentsHandles);
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-        model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH, dir);		
-		return model.getDefaultOperation();
-	}
-	
-	protected List getComponentsToRemove(){
-		//j2eeComponentList = getCheckedJ2EEElementsAsList();
-		List list = new ArrayList();
-		if( earComponent != null && list != null ){
-			IVirtualReference[] oldrefs = earComponent.getReferences();
-			for (int j = 0; j < oldrefs.length; j++) {
-				IVirtualReference ref = oldrefs[j];
-				IVirtualComponent handle = ref.getReferencedComponent();
-				if(!j2eeComponentList.contains(handle) && (isVersion5 ? !j2eeLibElementList.contains(handle) : true)){
-					list.add(handle);
-				}
-			}
-		}
-		return list;		
-	}
-	
-	// EAR5 case
-	protected List[] getComponentsToRemoveUpdate(boolean dirUpdated){
-		//j2eeComponentList = getCheckedJ2EEElementsAsList();
-		List[] list = new ArrayList[2];
-		list[0] = new ArrayList();
-		list[1] = new ArrayList();
-		if( earComponent != null && list != null ){
-			IVirtualReference[] oldrefs = earComponent.getReferences();
-			for (int j = 0; j < oldrefs.length; j++) {
-				IVirtualReference ref = oldrefs[j];
-				IVirtualComponent handle = ref.getReferencedComponent();
-				if(!j2eeComponentList.contains(handle) && ref.getRuntimePath().isRoot()) {
-					list[0].add(handle);
-				}
-				if((!j2eeLibElementList.contains(handle) || dirUpdated) &&
-						ref.getRuntimePath().toString().equals(oldLibDir)) {	
-					list[1].add(handle);
-				}
-			}
-		}
-		return list;		
-	}
-	
-	
-	public void handleEvent(Event event) {
-		if (event.widget == selectAllButton)
-			handleSelectAllButtonPressed();
-		else if (event.widget == deselectAllButton)
-			handleDeselectAllButtonPressed();
-		else if(event.widget == projectJarButton)
-			handleSelectProjectJarButton();
-		else if(event.widget == externalJarButton)
-			handleSelectExternalJarButton();
-		else if(event.widget == addVariableButton)
-			handleSelectVariableButton();
-		else if(event.widget == changeLibPathButton) {
-			this.handleChangeLibDirButton(true);
-		}
-	}
-
-	private void handleSelectAllButtonPressed() {
-		availableComponentsViewer.setAllChecked(true);
-		j2eeComponentList = getCheckedJ2EEElementsAsList(true);
-		javaProjectsList = getCheckedJavaProjectsAsList(true);		
-		if (isVersion5) {
-			j2eeLibElementList = getCheckedJ2EEElementsAsList(false);
-			javaLibProjectsList = getCheckedJavaProjectsAsList(false);			
-		} 
-	}
-
-	private void handleDeselectAllButtonPressed() {
-		availableComponentsViewer.setAllChecked(false);
-		if (isVersion5) {
-			((DoubleCheckboxTableViewer)availableComponentsViewer).setAllSecondChecked(false);
-			libsToUncheck.clear();
-		}
-		j2eeComponentList = new ArrayList();
-		javaProjectsList = new ArrayList();
-		if (isVersion5) {
-			j2eeLibElementList = new ArrayList();
-			javaLibProjectsList = new ArrayList();			
-		}
-	}
-	
-	/**
-	 * [Bug 238264]
-	 * Add an archive as a potential new reference for this.earComponent
-	 * NOTE1: the given archive will not be added as a potential reference if there is already a reference to it
-	 * NOTE2: the given archive will only be added as an actual reference when this.performOk is invoked
-	 * 
-	 * @param archive the archive to add as a potential new reference in this.earComponent
-	 * 			
-	 */
-	private void addPotentialNewReference(IVirtualComponent archive) {
-		//check to see if a reference to the given archive already exists
-		IVirtualReference [] existingRefs = earComponent.getReferences();
-		IVirtualComponent referencedComponent;
-		boolean refAlreadyExists = false;
-		for(int i=0;i<existingRefs.length && !refAlreadyExists;i++){
-			referencedComponent = existingRefs[i].getReferencedComponent();
-			refAlreadyExists = referencedComponent.equals(archive);
-		}
-		
-		//only add the archive as a potentialy new reference if it does not already exist
-		if(!refAlreadyExists) {
-			this.j2eeComponentList.add(archive);
-			this.addedJARComponents.add(archive);
-		} else {
-			//TODO should inform user that they selected an already referenced archive?
-		}
-	}
-	
-	private void handleSelectExternalJarButton(){
-		IPath[] selected= BuildPathDialogAccess.chooseExternalJAREntries(propPage.getShell());
-
-		if (selected != null) {
-			for (int i= 0; i < selected.length; i++) {
-				
-				String type = VirtualArchiveComponent.LIBARCHIVETYPE + IPath.SEPARATOR;
-				IVirtualComponent archive = ComponentCore.createArchiveComponent( earComponent.getProject(), type +
-							selected[i].toString());
-				
-				this.addPotentialNewReference(archive);
-			}
-			refresh();
-		}
-		
-	}
-
-	private void handleSelectVariableButton(){
-		IPath existingPath[] = new Path[0];
-		IPath[] paths =  BuildPathDialogAccess.chooseVariableEntries(propPage.getShell(), existingPath);
-		
-		if (paths != null) {
-			refresh();
-			for (int i = 0; i < paths.length; i++) {
-				IPath resolvedPath= JavaCore.getResolvedVariablePath(paths[i]);
-
-				java.io.File file = new java.io.File(resolvedPath.toOSString());
-				if( file.isFile() && file.exists()){
-					String type = VirtualArchiveComponent.VARARCHIVETYPE + IPath.SEPARATOR;
-					
-					IVirtualComponent archive = ComponentCore.createArchiveComponent( earComponent.getProject(), type +
-								paths[i].toString());
-					
-					this.addPotentialNewReference(archive);
-				}else{
-					//display error
-				}
-			}
-			refresh();
-		}	
-	}
-	
-	private void handleChangeLibDirButton(boolean warnBlank) {					
-		IVirtualFile vFile = earComponent.getRootFolder().getFile(new Path(J2EEConstants.APPLICATION_DD_URI));
-		if (!vFile.exists()) {
-			if (!MessageDialog.openQuestion(null, 
-					J2EEUIMessages.getResourceString(J2EEUIMessages.NO_DD_MSG_TITLE), 
-					J2EEUIMessages.getResourceString(J2EEUIMessages.GEN_DD_QUESTION))) return;
-			createDD(new NullProgressMonitor());
-		}
-		Application app = (Application)ModelProviderManager.getModelProvider(project).getModelObject();
-		if (libDir == null) {
-			libDir = app.getLibraryDirectory();
-			if (libDir == null) libDir = J2EEConstants.EAR_DEFAULT_LIB_DIR;
-		}
-		
-		ChangeLibDirDialog dlg = new ChangeLibDirDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-                .getShell(), libDir, warnBlank);
-		if (dlg.open() == Dialog.CANCEL) return;
-		libDir = dlg.getValue().trim();
-		if (libDir.length() > 0) {
-			if (!libDir.startsWith(J2EEConstants.EAR_ROOT_DIR)) libDir = IPath.SEPARATOR + libDir;
-		}
-				
-	}
-
-	
-	protected void createTableComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(gData);
-		fillComposite(composite);
-	}
-
-	public void fillComposite(Composite parent) {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		parent.setLayout(layout);
-		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createTable(parent);
-		createButtonColumn(parent);
-	}
-
-	protected void createButtonColumn(Composite parent) {
-		buttonColumn = createButtonColumnComposite(parent);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonColumn.setLayoutData(data);
-		createPushButtons();
-	}
-
-	protected void createPushButtons() {
-		selectAllButton = createPushButton(SELECT_ALL_BUTTON);
-		deselectAllButton = createPushButton(DE_SELECT_ALL_BUTTON);
-		projectJarButton = createPushButton(J2EEUIMessages.getResourceString(J2EEUIMessages.PROJECT_JAR));//$NON-NLS-1$
-		externalJarButton = createPushButton(J2EEUIMessages.getResourceString(J2EEUIMessages.EXTERNAL_JAR));//$NON-NLS-1$
-		addVariableButton = createPushButton(J2EEUIMessages.getResourceString(J2EEUIMessages.ADDVARIABLE));//$NON-NLS-1$
-		if (isVersion5) changeLibPathButton = createPushButton(J2EEUIMessages.getResourceString(J2EEUIMessages.CHANGE_LIB_DIR));//$NON-NLS-1$
-	}
-
-	protected Button createPushButton(String label) {
-		Button aButton = primCreatePushButton(label, buttonColumn);
-		aButton.addListener(SWT.Selection, this);
-		aButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		return aButton;
-	}
-
-	public Button primCreatePushButton(String label, Composite aButtonColumn) {
-		Button aButton = new Button(aButtonColumn, SWT.PUSH);
-		aButton.setText(label);
-		return aButton;
-	}
-
-	public Composite createButtonColumnComposite(Composite parent) {
-		Composite aButtonColumn = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		aButtonColumn.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		aButtonColumn.setLayoutData(data);
-		return aButtonColumn;
-	}
-
-	public Group createGroup(Composite parent) {
-		return new Group(parent, SWT.NULL);
-	}
-
-	protected void createTable(Composite parent) {
-		availableComponentsViewer = createavailableComponentsViewer(parent);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
-		availableComponentsViewer.getTable().setLayoutData(gd);
-
-		if (earComponent != null) {
-			int j2eeVersion = J2EEVersionUtil.convertVersionStringToInt(earComponent);
-			AvailableJ2EEComponentsForEARContentProvider provider = new AvailableJ2EEComponentsForEARContentProvider(earComponent, j2eeVersion);
-			availableComponentsViewer.setContentProvider(provider);
-			availableComponentsViewer.setLabelProvider(provider);
-			
-			addTableListeners();
-		}
-	}
-
-	protected void addTableListeners() {
-		addCheckStateListener();
-	}
-
-	protected void addCheckStateListener() {
-		availableComponentsViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				if (!(event instanceof SecondCheckBoxStateChangedEvent) && (isVersion5)) {
-					DoubleCheckboxTableViewer vr = (DoubleCheckboxTableViewer)event.getSource();
-					Object[] items = vr.getUncheckedItems();					
-					for (int i = 0; i < items.length; i++) {
-						DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)items[i];
-						if (item.getSecondChecked()) {
-							item.setSecondChecked(false);
-							libsToUncheck.remove(event.getElement());
-						}
-					}
-				}
-				if ((event instanceof SecondCheckBoxStateChangedEvent)) {
-					SecondCheckBoxStateChangedEvent evt = (SecondCheckBoxStateChangedEvent)event;
-					DoubleCheckboxTableItem tblItem = evt.getTableItem();
-					if (tblItem.getSecondChecked() && isConflict(tblItem.getData())) {
-						DependencyConflictResolveDialog dlg = new DependencyConflictResolveDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-				                .getShell(), DependencyConflictResolveDialog.DLG_TYPE_2);
-						if (dlg.open() == DependencyConflictResolveDialog.BTN_ID_CANCEL) {
-							tblItem.setSecondChecked(false);
-							return;
-						}
-					}	
-					if (tblItem.getSecondChecked()) {
-						if (!tblItem.getChecked())
-							tblItem.setChecked(true);						
-						libsToUncheck.add(event.getElement());	
-					} else {
-						libsToUncheck.remove(event.getElement());
-					}
-				}
-				j2eeComponentList = getCheckedJ2EEElementsAsList(true);
-				javaProjectsList = getCheckedJavaProjectsAsList(true);		
-				if (isVersion5) {
-					j2eeLibElementList = getCheckedJ2EEElementsAsList(false);
-					javaLibProjectsList = getCheckedJavaProjectsAsList(false);					
-					
-				} 
-			}
-		});
-	}
-	
-	protected Object[] getCPComponentsInEar(boolean inLibFolder) {
-		List list = new ArrayList();
-		Map pathToComp = new HashMap();
-		IVirtualReference refs[] = earComponent.getReferences();
-		for( int i=0; i< refs.length; i++){
-			IVirtualReference ref = refs[i];
-			if ((ref.getRuntimePath().isRoot() && !inLibFolder) ||
-				(!ref.getRuntimePath().isRoot() && inLibFolder) ||
-				!isVersion5) {
-				
-				IVirtualComponent comp = ref.getReferencedComponent();
-				AvailableJ2EEComponentsForEARContentProvider.addClasspathComponentDependencies(list, pathToComp, comp);
-			}
-		}
-		return list.toArray();
-	}
-	
-	protected Object[] getComponentsInEar(boolean inLibFolder) {
-		List list = new ArrayList();
-		IVirtualReference refs[] = earComponent.getReferences();
-		for( int i=0; i< refs.length; i++){
-			IVirtualReference ref = refs[i];
-			if ((ref.getRuntimePath().isRoot() && !inLibFolder) ||
-				(!ref.getRuntimePath().isRoot() && inLibFolder) ||
-				!isVersion5) {
-				
-				IVirtualComponent comp = ref.getReferencedComponent();
-				list.add(comp);
-			}
-		}
-		return list.toArray();
-	}
-	
-	/**
-	 * 
-	 * @param componentHandle
-	 * @return
-	 * @description  returns true is a component is already in the EAR as a dependent
-	 */
-	protected boolean inEARAlready(IVirtualComponent component){
-		IVirtualReference refs[] = earComponent.getReferences();
-		for( int i=0; i< refs.length; i++){
-			IVirtualReference ref = refs[i];
-			if  ( ref.getReferencedComponent().equals( component ))
-				return true;
-		}	
-		return false;
-	}
-		
-	// The next two are used in EAR5 case
-	protected List getCheckedJ2EEElementsAsList(boolean singleChecked) {		
-		Object[] elements;
-		if (isVersion5) {
-			elements = singleChecked ? ((DoubleCheckboxTableViewer)availableComponentsViewer).getSingleCheckedElements():
-									   ((DoubleCheckboxTableViewer)availableComponentsViewer).getDoubleCheckedElements();
-				
-		} else {
-			elements = availableComponentsViewer.getCheckedElements();
-		}
-		List list;
-		if (elements == null || elements.length == 0)
-			list = new ArrayList(0); // Collections.EMPTY_LIST would cause UnsupportedOperationException when a later attempt to add to it is made
-		else {
-			list = new ArrayList();
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof IVirtualComponent) {
-					list.add(elements[i]);
-				}
-			}
-		}
-		return list;
-	}
-	
-	protected List getCheckedJavaProjectsAsList(boolean single) {
-		Object[] elements;
-		if (isVersion5) {
-			elements = single ? ((DoubleCheckboxTableViewer)availableComponentsViewer).getSingleCheckedElements() :
-								((DoubleCheckboxTableViewer)availableComponentsViewer).getDoubleCheckedElements();
-		} else {
-			elements = availableComponentsViewer.getCheckedElements();
-		}
-		
-		List list;
-		if (elements == null || elements.length == 0)
-			list = new ArrayList(0); // Collections.EMPTY_LIST would cause UnsupportedOperationException when a later attempt to add to it is made
-		else {
-			list = new ArrayList();
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof IProject) {
-					list.add(elements[i]);
-				}
-			}
-		}
-		return list;
-	}
-		
-	protected List getLibFolderLibsAsList() {
-		Object[] items = ((DoubleCheckboxTableViewer)availableComponentsViewer).getSecondCheckedItems();
-		List list;
-		if (items == null || items.length == 0)
-			list = new ArrayList(0); // Collections.EMPTY_LIST would cause UnsupportedOperationException when a later attempt to add to it is made
-		else {
-			list = new ArrayList();
-			for (int i = 0; i < items.length; i++) {
-				Object element = ((DoubleCheckboxTableItem)items[i]).getData();
-				if (element instanceof IProject) {
-					list.add(element);
-				}
-			}
-		}
-		return list;
-	}
-
-	public CheckboxTableViewer createavailableComponentsViewer(Composite parent) {
-		int flags = SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI;
-
-		Table table = isVersion5 ? new Table(parent, flags) : new Table(parent, flags);
-		availableComponentsViewer = isVersion5 ? new DoubleCheckboxTableViewer(table, 2) : new CheckboxTableViewer(table);
-
-		// set up table layout
-		TableLayout tableLayout = new org.eclipse.jface.viewers.TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(200, true));
-		tableLayout.addColumnData(new ColumnWeightData(200, true));
-		if (isVersion5) tableLayout.addColumnData(new ColumnWeightData(200, true));
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		availableComponentsViewer.setSorter(null);
-
-		// table columns
-		TableColumn fileNameColumn = new TableColumn(table, SWT.NONE, 0);
-		fileNameColumn.setText(ManifestUIResourceHandler.JAR_Module_UI_); 
-		fileNameColumn.setResizable(true);
-
-		TableColumn projectColumn = new TableColumn(table, SWT.NONE, 1);
-		projectColumn.setText(ManifestUIResourceHandler.Project_UI_); 
-		projectColumn.setResizable(true);
-		
-		if (isVersion5) {
-			TableColumn bndColumn = new TableColumn(table, SWT.NONE, 2);
-			bndColumn.setText(ManifestUIResourceHandler.Packed_In_Lib_UI_); 
-			bndColumn.setResizable(true);			
-		}
-			
-		tableLayout.layout(table, true);
-		return availableComponentsViewer;
-
-	}
-
-	private boolean shouldBeDisabled(IVirtualComponent component) {
-		if (J2EEProjectUtilities.isApplicationClientComponent(component)) return true;
-		if (J2EEProjectUtilities.isEARProject(component.getProject()) && component.isBinary()) return false;
-		if (J2EEProjectUtilities.isEJBComponent(component)) return true;
-		if (J2EEProjectUtilities.isDynamicWebComponent(component)) return true;
-		if (J2EEProjectUtilities.isJCAComponent(component)) return true;
-		if (J2EEProjectUtilities.isStaticWebProject(component.getProject())) return true;
-		if (J2EEProjectUtilities.isProjectOfType(component.getProject(), IJ2EEFacetConstants.JAVA)) return false;
-		return false;
-	}
-	
-	public void refresh() {
-
-		IWorkspaceRoot input = ResourcesPlugin.getWorkspace().getRoot();
-		availableComponentsViewer.setInput(input);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		int numlines = Math.min(10, availableComponentsViewer.getTable().getItemCount());
-		data.heightHint = availableComponentsViewer.getTable().getItemHeight() * numlines;
-		availableComponentsViewer.getTable().setLayoutData(data);
-
-		//[Bug 238264] for all the jars in the cache temparaly list them in the grid
-		// until the user applys the changes
-		for(IVirtualComponent jarComponent : this.addedJARComponents) {
-			availableComponentsViewer.add(jarComponent);
-		}
-		
-		TableItem [] items = availableComponentsViewer.getTable().getItems();
-		List list = new ArrayList();
-		//Object[] comps = getComponentsInEar();
-		Object[] cpComps;
-		Object[] cpLibComps = new Object[0];
-		HashSet j2eeComponentSet = new HashSet();
-		HashSet j2eeLibComponentSet = new HashSet();		
-		if (isVersion5) {
-			if( j2eeComponentList.isEmpty() ){
-				Object[] comps = getComponentsInEar(false);
-				j2eeComponentList.addAll( Arrays.asList(comps));
-			}
-			if( j2eeLibElementList.isEmpty() ){
-				Object[] comps = getComponentsInEar(true);
-				j2eeLibElementList.addAll( Arrays.asList(comps));
-			}			
-			// get all Classpath contributions to the Ear
-			cpComps = getCPComponentsInEar(false);
-			j2eeComponentList.addAll(Arrays.asList(cpComps));	
-			cpLibComps = getCPComponentsInEar(true);
-			j2eeLibElementList.addAll(Arrays.asList(cpLibComps));	
-			for (int i = 0; i < j2eeLibElementList.size(); i++) {
-				j2eeLibComponentSet.add(j2eeLibElementList.get(i));
-			}
-				
-		} else {
-			if( j2eeComponentList.isEmpty() ){
-				Object[] comps = getComponentsInEar(false);
-				j2eeComponentList.addAll( Arrays.asList(comps));
-			}
-			// get all Classpath contributions to the Ear
-			cpComps = getCPComponentsInEar(false);
-			j2eeComponentList.addAll(Arrays.asList(cpComps));			
-		}
-		for (int i = 0; i < j2eeComponentList.size(); i++) {
-			j2eeComponentSet.add(j2eeComponentList.get(i));
-		}
-				
-		for( int i=0; i< items.length; i++ ){
-			Object element = items[i].getData();
-			if( element instanceof IVirtualComponent){
-				IVirtualComponent comp = (IVirtualComponent)element;
-				if (j2eeComponentSet.contains(comp)) {
-					list.add(comp);
-				}
-				if (isVersion5) {
-					DoubleCheckboxTableItem dcbItem = (DoubleCheckboxTableItem)items[i]; 
-					boolean secondEnabled = dcbItem.getSecondEnabled();
-					if (shouldBeDisabled(comp) == secondEnabled) dcbItem.setSecondEnabled(!secondEnabled);						
-					dcbItem.setSecondChecked(j2eeLibComponentSet.contains(comp));
-					if (j2eeLibComponentSet.contains(comp)) list.add(comp);
-				}
-			}
-		}		
-		
-		availableComponentsViewer.setCheckedElements(list.toArray());
-		availableComponentsViewer.setGrayedElements(cpComps);
-		if (isVersion5) availableComponentsViewer.setGrayedElements(cpLibComps);
-
-	//	j2eeComponentList.addAll(list);
-		GridData btndata = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonColumn.setLayoutData(btndata);
-
-	}
-
-	private boolean isConflict(Object lib) {
-		IProject libProj = (lib instanceof IProject) ? (IProject)lib : ((IVirtualComponent)lib).getProject(); 
-		IProject earProject = earComponent.getProject();	
-		try {			
-			IVirtualComponent cmp = ComponentCore.createComponent(earProject);
-			IProject[] earRefProjects = earProject.getReferencedProjects();
-			for (int i = 0; i < earRefProjects.length; i++) {	
-				if (!J2EEProjectUtilities.isEARProject(earRefProjects[i]) &&
-						!earRefProjects[i].equals(libProj)) {
-					IVirtualComponent cmp1 = ComponentCore.createComponent(earRefProjects[i]);
-					IVirtualReference[] refs = cmp1.getReferences();
-					for (int j = 0; j < refs.length; j++) {
-						if (refs[j].getReferencedComponent().getProject().equals(libProj)) return true;
-					}
-				}	
-			}
-			return false;
-		} catch (CoreException ce) {
-			Logger.getLogger().log(ce);
-		}		
-		return false;
-	}	
-	
-	private void handleSelectProjectJarButton(){
-		IPath[] selected= BuildPathDialogAccess.chooseJAREntries(propPage.getShell(), project.getLocation(), new IPath[0]);
-	
-		if (selected != null) {
-			for (int i= 0; i < selected.length; i++) {
-				//IPath fullPath = project.getFile(selected[i]).getFullPath();	
-				String type = VirtualArchiveComponent.LIBARCHIVETYPE + IPath.SEPARATOR;
-				IVirtualComponent archive = ComponentCore.createArchiveComponent( earComponent.getProject(), type +
-							selected[i].makeRelative().toString());
-				
-				this.addPotentialNewReference(archive);
-			}
-			refresh();
-		}
-		
-	}
-	
-	/**
-	 * [Bug 238264]
-	 * determines a unique URI mapping name for a given component
-	 * this is in case two components have the same name.
-	 * 
-	 * @return returns a valid (none duplicate) uri mapping name for the given component\
-	 */
-	private String getURIMappingName(IVirtualComponent archive) {
-		
-		//get the default uri map name for the given archive
-		IPath componentPath = Path.fromOSString(archive.getName());
-		String uriMapName = componentPath.lastSegment().replace(' ', '_');
-		
-		
-		//check to be sure this uri mapping is not already in use by another reference
-		boolean dupeArchiveName;
-		String refedCompName;
-		int lastDotIndex;
-		String increment;
-		IVirtualReference [] existingRefs = earComponent.getReferences();
-		for(int i=0;i<existingRefs.length;i++){
-			refedCompName = existingRefs[i].getReferencedComponent().getName();
-			
-			//if uri mapping names of the refed component and the given archive are the same
-			//  find a new uri map name for the given archive
-			if(existingRefs[i].getArchiveName().equals(uriMapName)){
-				dupeArchiveName = true;
-				//find a new uriMapName for the given component
-				for(int j=1; dupeArchiveName; j++){
-					lastDotIndex = uriMapName.lastIndexOf('.');
-					increment = "_"+j; //$NON-NLS-1$
-					
-					//create the new potential name
-					if(lastDotIndex != -1){
-						uriMapName = uriMapName.substring(0, lastDotIndex) + increment + uriMapName.substring(lastDotIndex);
-					} else {
-						uriMapName = uriMapName.substring(0)+increment;
-					}
-					
-					//determine if the new potential name is valid
-					for(int k=0; k<existingRefs.length; k++) {
-						dupeArchiveName = existingRefs[k].getArchiveName().equals(uriMapName);
-						if(dupeArchiveName) {
-							break;
-						}
-					}
-				}
-			}
-		}
-		
-		return uriMapName;
-	}
-	
-	/**
-	 * Method returns the name of the given IVirtualComponent being sure the correct extension
-	 * is on the end of the name, this is important for internal projects. Added for [Bug 241509]
-	 * 
-	 * @param virtComp the IVirtualComponent to get the name of with the correct extension
-	 * @return the name of the given IVirtualComponent with the correct extension
-	 */
-	private String getVirtualComponentNameWithExtension(IVirtualComponent virtComp) {
-		String virtCompURIMapName = this.getURIMappingName(virtComp);
-		
-		boolean linkedToEAR = true;
-		try {
-			if(virtComp.isBinary()){
-				linkedToEAR = ((J2EEModuleVirtualArchiveComponent)virtComp).isLinkedToEAR();
-				((J2EEModuleVirtualArchiveComponent)virtComp).setLinkedToEAR(false);
-			}
-			if(JavaEEProjectUtilities.isDynamicWebComponent(virtComp)) {
-				if(!virtCompURIMapName.endsWith(IJ2EEModuleConstants.WAR_EXT)) {
-					//web module URIs need to end in WAR
-					virtCompURIMapName += IJ2EEModuleConstants.WAR_EXT;
-				}
-			} else if(JavaEEProjectUtilities.isJCAComponent(virtComp)) {
-				if(!virtCompURIMapName.endsWith(IJ2EEModuleConstants.RAR_EXT)) {
-					//connector module URIs need to end in RAR
-					virtCompURIMapName += IJ2EEModuleConstants.RAR_EXT;
-				}
-			} else if(!virtCompURIMapName.endsWith(IJ2EEModuleConstants.JAR_EXT)) {
-				//all other modules (EJB, AppClient, Utility) need to end in JAR
-				virtCompURIMapName += IJ2EEModuleConstants.JAR_EXT;
-			}
-		} finally {
-			if(virtComp.isBinary()){
-				((J2EEModuleVirtualArchiveComponent)virtComp).setLinkedToEAR(linkedToEAR);
-			}
-		}
-		return virtCompURIMapName;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AvailableJ2EEComponentsForEARContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AvailableJ2EEComponentsForEARContentProvider.java
deleted file mode 100644
index 40040d2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/AvailableJ2EEComponentsForEARContentProvider.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Stefan Dimov, stefan.dimov@sap.com - bug 207826
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.application.internal.operations.ClassPathSelection;
-import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
-import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
-import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent;
-import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.model.IEARModelProvider;
-import org.eclipse.jst.j2ee.model.IModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-
-public class AvailableJ2EEComponentsForEARContentProvider implements IStructuredContentProvider, ITableLabelProvider {
-	private int j2eeVersion;
-	private IVirtualComponent earComponent;
-	private boolean isEE5 = false;
-
-	public AvailableJ2EEComponentsForEARContentProvider(IVirtualComponent aEarComponent, int j2eeVersion) {
-		super();
-		this.j2eeVersion = j2eeVersion;
-		earComponent = aEarComponent;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		if (null != earComponent){
-			isEE5 = J2EEProjectUtilities.isJEEProject(earComponent.getProject());
-		}
-		Object[] empty = new Object[0];
-		if (!(inputElement instanceof IWorkspaceRoot))
-			return empty;
-		IProject[] projects = ((IWorkspaceRoot) inputElement).getProjects();
-		if (projects == null || projects.length == 0)
-			return empty;
-		List validCompList = new ArrayList();
-		Map pathToComp = new HashMap();
-		for (int i = 0; i < projects.length; i++) {
-			// get flexible project
-			IProject project = projects[i];
-			if(ModuleCoreNature.isFlexibleProject(project)){
-				IVirtualComponent component = ComponentCore.createComponent(project);
-				if (J2EEProjectUtilities.isApplicationClientProject(project) ||
-						J2EEProjectUtilities.isEJBProject(project) ||
-						J2EEProjectUtilities.isDynamicWebProject(project) ||
-						J2EEProjectUtilities.isJCAProject(project) ||
-						J2EEProjectUtilities.isUtilityProject(project) ){
-					int compJ2EEVersion = J2EEVersionUtil.convertVersionStringToInt(component);
-					if( compJ2EEVersion <= j2eeVersion){
-						validCompList.add(component);
-					} else if(isEE5){
-						validCompList.add(component);
-					}
-				}else if(null != earComponent && J2EEProjectUtilities.isEARProject(project)){
-					//find the ArchiveComponent
-					if( component.equals( earComponent )){
-						IVirtualReference[] newrefs = component.getReferences();
-						for( int k=0; k< newrefs.length; k++ ){
-							IVirtualReference tmpref = newrefs[k];
-							IVirtualComponent referencedcomp = tmpref.getReferencedComponent();		
-							boolean isBinary = referencedcomp.isBinary();
-							if( isBinary ){
-								validCompList.add(referencedcomp);
-							} else {
-								addClasspathComponentDependencies(validCompList, pathToComp, referencedcomp);
-							}
-						}	
-					}
-				}
-			} else
-				try {
-					if (project.exists() && project.isAccessible() && project.hasNature("org.eclipse.jdt.core.javanature") ){ //$NON-NLS-1$
-						if( !project.getName().startsWith(".") )
-							validCompList.add(project);
-					}
-				} catch (CoreException e) {
-					Logger.getLogger().log(e);
-				}
-		}
-		return validCompList.toArray();
-	}
-
-	public static void addClasspathComponentDependencies(final List componentList, final Map pathToComp, final IVirtualComponent referencedComponent) {
-		if (referencedComponent instanceof J2EEModuleVirtualComponent) {
-			J2EEModuleVirtualComponent j2eeComp = (J2EEModuleVirtualComponent) referencedComponent;
-			IVirtualReference[] cpRefs = j2eeComp.getJavaClasspathReferences();
-			for (int j=0; j < cpRefs.length; j++) {
-				String unresolvedURI = null;
-				// only ../ mappings supported at this level
-				if (!cpRefs[j].getRuntimePath().equals(IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_CONTAINER_PATH)) {
-					continue;
-				}
-				// if the absolute path for this component already has a mapping, skip (the comp might be contributed by more than
-				// one child module)
-				final IPath path = ClasspathDependencyUtil.getClasspathVirtualReferenceLocation(cpRefs[j]);
-				final IVirtualComponent comp = (IVirtualComponent) pathToComp.get(path);
-				if (comp != null) {
-					// replace with a temp VirtualArchiveComponent whose IProject is set to a new pseudo name that is
-					// the concatenation of all project contributions for that archive
-					if (comp instanceof VirtualArchiveComponent) {
-						final VirtualArchiveComponent oldComp = (VirtualArchiveComponent) comp;
-						componentList.remove(comp);
-						final VirtualArchiveComponent newComponent = ClassPathSelection.updateDisplayVirtualArchiveComponent(oldComp, cpRefs[j]);
-						pathToComp.put(path, newComponent);
-						componentList.add(newComponent);
-					}
-					continue;
-				} else {
-					pathToComp.put(path, cpRefs[j].getReferencedComponent());
-				}
-				componentList.add(cpRefs[j].getReferencedComponent());
-			}
-		}
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof IVirtualComponent) {
-			IVirtualComponent comp = (IVirtualComponent)element;
-			String name = ""; //$NON-NLS-1$
-			if( columnIndex == 0 ){
-				if (ClasspathDependencyUtil.isClasspathComponentDependency(comp)) {
-					return ClasspathDependencyUtil.getClasspathComponentDependencyDisplayString(comp);
-				}
-				IModelProvider provider = ModelProviderManager.getModelProvider(earComponent.getProject());
-				if (provider instanceof IEARModelProvider)
-				{
-					name = ((IEARModelProvider)provider).getModuleURI(comp);
-				}
-				if( name == null || name == "" ){ //$NON-NLS-1$
-					name = comp.getName();
-				}
-				return name;
-			} else if (columnIndex == 1) {
-				return comp.getProject().getName();
-			} else if (columnIndex == 2) {
-				return "";
-			}
-		} else if (element instanceof IProject){
-			if (columnIndex != 2) {
-				return ((IProject)element).getName();
-			} else {
-				return "";
-			}
-		}		
-		return null;
-	}	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-	 *      java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		//do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		//do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
-	 *      java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		//do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ClassHelperAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ClassHelperAdapterFactory.java
deleted file mode 100644
index 163ae74..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ClassHelperAdapterFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-
-public class ClassHelperAdapterFactory implements IAdapterFactory {
-	
-	private static final Class IFILE_CLASS = IFile.class;
-	private static final Class IRESOURCE_CLASS = IResource.class;
-	
-	private static final Class[] ADAPTER_TYPES = new Class[] {
-		IFILE_CLASS, IRESOURCE_CLASS
-	};
-
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if(IRESOURCE_CLASS == adapterType || IFILE_CLASS == adapterType) {
-			if(adaptableObject instanceof J2EEJavaClassProviderHelper) {
-				J2EEJavaClassProviderHelper provider = (J2EEJavaClassProviderHelper) adaptableObject;
-				try {
-					IResource resource = (IResource) provider.getAdapter(IRESOURCE_CLASS);
-					return resource;
-				} catch (RuntimeException e) {
-					J2EEUIPlugin.logError(0, e.getMessage(), e);
-					return null;
-				}
-			}
-		}
-		return null;
-	}
-
-	public Class[] getAdapterList() {
-		return ADAPTER_TYPES;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ClasspathTableManager.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ClasspathTableManager.java
deleted file mode 100644
index 9edc011..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ClasspathTableManager.java
+++ /dev/null
@@ -1,647 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Stefan Dimov, stefan.dimov@sap.com - bug 207826
- *******************************************************************************/
-/*
- * Created on Jan 17, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jst.j2ee.application.internal.operations.ClassPathSelection;
-import org.eclipse.jst.j2ee.application.internal.operations.ClasspathElement;
-import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent;
-import org.eclipse.jst.j2ee.internal.common.ClasspathModel;
-import org.eclipse.jst.j2ee.internal.listeners.IValidateEditListener;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.internal.wizard.AvailableJarsProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.jst.j2ee.internal.common.ClasspathModelEvent;
-import org.eclipse.jst.j2ee.internal.dialogs.DependencyConflictResolveDialog;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
-
-/**
- * @author jialin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class ClasspathTableManager implements Listener, ICommonManifestUIConstants {
-
-	protected Button useClientJARsBtn;
-	protected Button useServerJARsBtn;
-	protected Button useAnyJARsBtn;
-	protected Button upButton;
-	protected Button downButton;
-	protected Button selectAllButton;
-	protected Button deselectAllButton;
-	protected IClasspathTableOwner owner;
-	protected Composite buttonColumn;
-	protected ClasspathModel model;
-	protected CheckboxTableViewer availableJARsViewer;
-	protected IValidateEditListener validateEditListener;
-	/**
-	 * @deprecated this field should be removed
-	 */
-	protected boolean isWLPEntry;
-	protected Group radioGroup;
-	
-	protected boolean readOnly;
-	protected AvailableJarsProvider availableJarsProvider;
-	protected Button externalJarButton;
-	protected Button projectJarButton;
-	protected Button addVariableButton;	
-	
-	protected Set compsToUncheck = new HashSet();
-
-	/**
-	 * Constructor for ButtonBarManager.
-	 */
-	public ClasspathTableManager(IClasspathTableOwner owner, ClasspathModel model) {
-		this(owner, model, null);
-	}
-	
-	public ClasspathTableManager(IClasspathTableOwner owner, ClasspathModel model, IValidateEditListener listener) {
-		super();
-		this.owner = owner;
-		this.model = model;
-		this.validateEditListener = listener;
-	}
-	public void fillComposite(Composite parent) {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		parent.setLayout(layout);
-		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createRadioGroup(parent);
-		createTable(parent);
-		createButtonColumn(parent);
-	}
-	
-	public void fillWLPComposite(Composite parent) {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		parent.setLayout(layout);
-		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createTable(parent);
-		createWLPButtonColumn(parent);
-	}
-	
-	public void fillWebRefComposite(Composite parent) {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		parent.setLayout(layout);
-		parent.setLayoutData(new GridData(GridData.FILL_BOTH));
-		createTable(parent);
-		createWebRefButtonColumn(parent);
-	}
-	
-	private void initializeEJBClientDefaults() {
-		if (model == null || model.getClassPathSelection() == null)
-			return;
-		boolean shouldUseServerJARs = false;
-		ClassPathSelection selection = model.getClassPathSelection(); 
-		int filterLevel;
-		boolean ejbSelected = selection.isAnyEJBJarSelected();
-		boolean clientSelected = selection.isAnyEJBClientJARSelected();
-		if (ejbSelected && clientSelected)
-			filterLevel = ClassPathSelection.FILTER_NONE;
-		else if (shouldUseServerJARs) {
-			if (clientSelected)
-				filterLevel = ClassPathSelection.FILTER_NONE;
-			else
-				filterLevel = ClassPathSelection.FILTER_EJB_CLIENT_JARS;
-		} else {
-			if (ejbSelected)
-				filterLevel = ClassPathSelection.FILTER_NONE;
-			else
-				filterLevel = ClassPathSelection.FILTER_EJB_SERVER_JARS;
-		}
-		initFilterLevel(filterLevel);
-	}
-	
-	private void initFilterLevel(int filterLevel) {
-		model.getClassPathSelection().setFilterLevel(filterLevel);
-		switch (filterLevel) {
-			case (ClassPathSelection.FILTER_NONE) :
-				useAnyJARsBtn.setSelection(true);
-				useClientJARsBtn.setSelection(false);
-				useServerJARsBtn.setSelection(false);
-				break;
-			case (ClassPathSelection.FILTER_EJB_CLIENT_JARS) :
-				useAnyJARsBtn.setSelection(false);
-				useClientJARsBtn.setSelection(false);
-				useServerJARsBtn.setSelection(true);
-				break;
-			case (ClassPathSelection.FILTER_EJB_SERVER_JARS) :
-				useAnyJARsBtn.setSelection(false);
-				useClientJARsBtn.setSelection(true);
-				useServerJARsBtn.setSelection(false);
-				break;
-		}
-	}
-
-	private void createRadioGroup(Composite parent) {
-		radioGroup = owner.createGroup(parent);
-		radioGroup.setText(EJB_CLIENT_RADIO_UI_);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		data.horizontalIndent = 0;
-		GridLayout layout = new GridLayout(3, false);
-		radioGroup.setLayout(layout);
-		radioGroup.setLayoutData(data);
-		
-		useServerJARsBtn = createRadioButton(USE_EJB_SERVER_JARs_UI_, radioGroup);
-		useClientJARsBtn = createRadioButton(USE_EJB_CLIENT_JARs_UI_, radioGroup);
-		useAnyJARsBtn	 = createRadioButton(USE_BOTH_UI_, radioGroup);
-		initializeEJBClientDefaults();
-	}
-	
-	protected void createButtonColumn(Composite parent) {
-		buttonColumn = owner.createButtonColumnComposite(parent);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonColumn.setLayoutData(data);
-		createPushButtons();
-	}
-	
-	protected void createWLPButtonColumn(Composite parent) {
-		buttonColumn = owner.createButtonColumnComposite(parent);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonColumn.setLayoutData(data);
-		createWLPPushButtons();
-	}
-	
-	protected void createWebRefButtonColumn(Composite parent) {
-		buttonColumn = owner.createButtonColumnComposite(parent);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		buttonColumn.setLayoutData(data);
-		createWebRefPushButtons();
-	}
-	
-	protected void createTable(Composite parent) {
-		availableJARsViewer = owner.createAvailableJARsViewer(parent);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
-		availableJARsViewer.getTable().setLayoutData(gd);
-		availableJarsProvider = new AvailableJarsProvider();
-		availableJARsViewer.setContentProvider(availableJarsProvider);
-		availableJARsViewer.setLabelProvider(availableJarsProvider);
-		addTableListeners();
-	}
-	
-	protected void createWLPPushButtons() {
-		selectAllButton = createPushButton(SELECT_ALL_BUTTON);
-		deselectAllButton = createPushButton(DE_SELECT_ALL_BUTTON);
-		projectJarButton = createPushButton(J2EEUIMessages.getResourceString("PROJECT_JAR")); //$NON-NLS-1$
-		externalJarButton = createPushButton(J2EEUIMessages.getResourceString("EXTERNAL_JAR")); //$NON-NLS-1$
-		addVariableButton = createPushButton(J2EEUIMessages.getResourceString("ADDVARIABLE"));//$NON-NLS-1$			
-		if (isReadOnly()) {
-			selectAllButton.setEnabled(false);
-			deselectAllButton.setEnabled(false);
-			projectJarButton.setEnabled(false);
-			externalJarButton.setEnabled(false);
-			addVariableButton.setEnabled(false);
-		} 
-	}
-	
-	protected void createWebRefPushButtons() {
-		selectAllButton = createPushButton(SELECT_ALL_BUTTON);
-		deselectAllButton = createPushButton(DE_SELECT_ALL_BUTTON);
-		if (isReadOnly()) {
-			selectAllButton.setEnabled(false);
-			deselectAllButton.setEnabled(false);
-		} 
-	}
-
-	protected void createPushButtons() {
-		upButton = createPushButton(UP_BUTTON);
-		downButton = createPushButton(DOWN_BUTTON);
-		selectAllButton = createPushButton(SELECT_ALL_BUTTON);
-		deselectAllButton = createPushButton(DE_SELECT_ALL_BUTTON);
-		if (isReadOnly()) {
-			upButton.setEnabled(false);
-			downButton.setEnabled(false);
-			selectAllButton.setEnabled(false);
-			deselectAllButton.setEnabled(false);
-		} 
-	}
-	
-	protected void createWebLibPushButtons() {
-		selectAllButton = createPushButton(SELECT_ALL_BUTTON);
-		deselectAllButton = createPushButton(DE_SELECT_ALL_BUTTON);
-		projectJarButton = createPushButton(J2EEUIMessages.getResourceString("PROJECT_JAR")); //$NON-NLS-1$
-		externalJarButton = createPushButton(J2EEUIMessages.getResourceString("EXTERNAL_JAR")); //$NON-NLS-1$
-		addVariableButton = createPushButton(J2EEUIMessages.getResourceString("ADDVARIABLE"));//$NON-NLS-1$			
-		if (isReadOnly()) {
-			selectAllButton.setEnabled(false);
-			deselectAllButton.setEnabled(false);
-		} 
-	}
-
-	protected Button createPushButton(String label) {
-		Button aButton = owner.primCreatePushButton(label, buttonColumn);
-		aButton.addListener(SWT.Selection, this);
-		aButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		return aButton;
-	}
-	
-	protected Button createRadioButton(String label, Composite parent) {
-		Button aButton = owner.primCreateRadioButton(label, parent);
-		aButton.addListener(SWT.Selection, this);
-		return aButton;
-	}
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		
-		ClasspathModelEvent evt = new ClasspathModelEvent(ClasspathModelEvent.CLASS_PATH_CHANGED);
-		model.fireNotification(evt);
-		if (event.widget == upButton)
-			upButtonSelected();
-		else if (event.widget == downButton)
-			downButtonSelected();
-		else if (event.widget == selectAllButton)
-			selectAllButtonSelected();
-		else if (event.widget == deselectAllButton)
-			deselectAllButtonSelected();
-		else if (event.widget == useServerJARsBtn)
-			handleServerJARsButtonSelected();
-		else if (event.widget == useClientJARsBtn)
-			handleClientJARsButtonSelected();
-		else if (event.widget == useAnyJARsBtn)
-			handleAnyJARsButtonSelected();
-		else if(event.widget == projectJarButton)
-			handleSelectProjectJarButton();
-		else if(event.widget == externalJarButton)
-			handleSelectExternalJarButton();
-		else if(event.widget == addVariableButton)
-			handleSelectVariableButton();		
-	}
-	
-	private void handleSelectExternalJarButton(){
-		 //owner.handleSelectExternalJarButton();
-		if( owner instanceof WebLibDependencyPropertiesPage){
-			WebLibDependencyPropertiesPage control = (WebLibDependencyPropertiesPage)owner;
-			control.handleSelectExternalJarButton();
-		} 
-	}
-	private void handleSelectProjectJarButton(){
-		 //owner.handleSelectExternalJarButton();
-		if( owner instanceof WebLibDependencyPropertiesPage){
-			WebLibDependencyPropertiesPage control = (WebLibDependencyPropertiesPage)owner;
-			control.handleSelectProjectJarButton();
-		} 
-	}
-	
-	private void handleSelectVariableButton(){
-		//owner.handleSelectVariableButton();
-		if( owner instanceof WebLibDependencyPropertiesPage){
-			WebLibDependencyPropertiesPage control = (WebLibDependencyPropertiesPage)owner;
-			control.handleSelectVariableButton();
-		} 		
-	}
-	
-	private void handleServerJARsButtonSelected() {
-		model.selectFilterLevel(ClassPathSelection.FILTER_EJB_CLIENT_JARS);
-		refresh();
-	}
-
-	private void handleClientJARsButtonSelected() {
-		model.selectFilterLevel(ClassPathSelection.FILTER_EJB_SERVER_JARS);
-		refresh();
-	}
-
-	private void handleAnyJARsButtonSelected() {
-		model.selectFilterLevel(ClassPathSelection.FILTER_NONE);
-		refresh();
-	}
-
-	public boolean validatateEdit() {
-		return validateEditListener.validateState().isOK();
-	}
-
-	protected void deselectAllButtonSelected() {
-		if (!validatateEdit())
-			return;
-		availableJARsViewer.setAllChecked(false);
-		model.setAllClasspathElementsSelected(false);
-		compsToUncheck.clear();
-	}
-
-	protected void selectAllButtonSelected() {
-		if (!validatateEdit())
-			return;
-		availableJARsViewer.setAllChecked(true);
-		Object[] elements = availableJARsViewer.getCheckedElements(); 
-		model.setAllClasspathElementsSelected(Arrays.asList(elements), true);
-		for (int i = 0; i < elements.length; i++) {
-			ClasspathElement el = (ClasspathElement)elements[i];
-			el.getComponent().getAdapter(IVirtualComponent.class);
-			IVirtualComponent ar = el.getTargetComponent();
-			IVirtualComponent comp = (ar instanceof J2EEModuleVirtualArchiveComponent) ? ar : el.getComponent();
-			if (isLibrary(comp)) 
-				compsToUncheck.add(comp);
-		}
-	}
-
-	protected java.util.List getSelectionAsList() {
-		return ((IStructuredSelection) availableJARsViewer.getSelection()).toList();
-	}
-	
-	protected java.util.List getCheckedLibsAsList() {
-		List res = new LinkedList();
-		Iterator it = compsToUncheck.iterator();
-		while (it.hasNext()) {
-			IVirtualComponent comp = (IVirtualComponent)it.next();
-			res.add(comp);
-		}
-		return res;
-	}
-
-	protected void downButtonSelected() {
-		if (!validatateEdit())
-			return;
-		model.moveDown(getSelectionAsList());
-		refresh();
-	}
-
-	protected void upButtonSelected() {
-		if (!validatateEdit())
-			return;
-		model.moveUp(getSelectionAsList());
-		refresh();
-	}
-
-	/*
-	 * Updates the enable state of the all buttons
-	 */
-	protected void updateButtonEnablements() {
-		int[] indices = availableJARsViewer.getTable().getSelectionIndices();
-		if (upButton != null && downButton != null) {
-			upButton.setEnabled(canMoveUp(indices));
-			downButton.setEnabled(canMoveDown(indices, availableJARsViewer.getTable().getItemCount()));
-		}
-	}
-
-	protected boolean canMoveUp(int[] indices) {
-		return canMove(indices, 0);
-	}
-
-	protected boolean canMoveDown(int[] indices, int itemCount) {
-		return canMove(indices, itemCount - 1);
-	}
-
-	protected boolean canMove(int[] indices, int referenceIndex) {
-		int length = indices.length;
-		if (length == 0)
-			return false;
-		for (int i = 0; i < length; i++) {
-			if (indices[i] == referenceIndex)
-				return false;
-		}
-		return true;
-	}
-	
-	protected void addTableListeners() {
-		addCheckStateListener();
-		addSelectionListener();
-	}
-
-	protected void addCheckStateListener() {
-		availableJARsViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				availableJARCheckStateChanged(event);
-			}
-		});
-	}
-
-	private boolean isLibrary(IVirtualComponent component) {
-		if (J2EEProjectUtilities.isApplicationClientComponent(component)) return false;
-		if (J2EEProjectUtilities.isEARProject(component.getProject()) && component.isBinary()) return true;
-		if (J2EEProjectUtilities.isEJBComponent(component)) return false;
-		if (J2EEProjectUtilities.isDynamicWebComponent(component)) return false;
-		if (J2EEProjectUtilities.isJCAComponent(component)) return false;
-		if (J2EEProjectUtilities.isStaticWebProject(component.getProject())) return false;
-		if (J2EEProjectUtilities.isProjectOfType(component.getProject(), IJ2EEFacetConstants.JAVA)) return true;
-		return true;
-	}			
-	
-	protected void availableJARCheckStateChanged(CheckStateChangedEvent event) {
-		ClasspathElement el = (ClasspathElement)event.getElement();
-		//226823 targeting a regular java project from web libs
-		if(el.getComponent() == null){
-			ClasspathElement element = (ClasspathElement) event.getElement();
-			model.setSelection(element, event.getChecked());
-			return;
-		}
-		el.getComponent().getAdapter(IVirtualComponent.class);
-		IVirtualComponent ar = el.getTargetComponent();
-		IVirtualComponent comp = (ar instanceof J2EEModuleVirtualArchiveComponent) ? ar : el.getComponent();
-		CheckboxTableViewer v = (CheckboxTableViewer)event.getSource();
-		if (isLibrary(comp) && event.getChecked()) {
-			if (isConflict(comp)) {
-				DependencyConflictResolveDialog dlg = new DependencyConflictResolveDialog(PlatformUI.
-						getWorkbench().
-							getActiveWorkbenchWindow().
-								getShell(), 
-					  DependencyConflictResolveDialog.DLG_TYPE_1);
-				if (dlg.open() == dlg.BTN_ID_CANCEL) {
-					v.setChecked(el, false);
-					return;
-				}
-				
-			}
-			compsToUncheck.add(comp);
-		} else if (!event.getChecked()) {
-			compsToUncheck.remove(comp);
-		}
-		if (!J2EEProjectUtilities.isStandaloneProject(model.getComponent().getProject()) && (isReadOnly() || !validatateEdit() || (isMyClientJAR(event) && !event.getChecked()))) {
-			availableJARsViewer.setChecked(event.getElement(), !event.getChecked());
-			return;
-		}
-		ClasspathElement element = (ClasspathElement) event.getElement();
-		model.setSelection(element, event.getChecked());
-	}
-
-	
-	private boolean isConflict(IVirtualComponent lib) {
-		IProject[] ears = J2EEProjectUtilities.getReferencingEARProjects(lib.getProject());
-		for (int i = 0; i < ears.length; i++) {
-			if (J2EEProjectUtilities.isJEEProject(ears[i])) {
-				IVirtualComponent cmp = ComponentCore.createComponent(ears[i]);
-				IVirtualReference[] refs = cmp.getReferences();
-				for (int j = 0; j < refs.length; j++) {	
-					if (model.getProject().equals(refs[j].getReferencedComponent().getProject())) {
-						IVirtualReference ref = cmp.getReference(lib.getName());
-						if (!ref.getRuntimePath().isRoot()) return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-	
-	
-	
-	/**
-	 * @param event
-	 * @return
-	 */
-	private boolean isMyClientJAR(CheckStateChangedEvent event) {
-		ClasspathElement element = (ClasspathElement) event.getElement();
-		if(getClasspathSelection() != null)
-			return getClasspathSelection().isMyClientJAR(element);
-		return false;
-	}
-
-	protected void addSelectionListener() {
-		availableJARsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				tableSelectionChanged();
-			}
-		});
-	}
-
-	protected void tableSelectionChanged() {
-		if (!isReadOnly())
-			updateButtonEnablements();
-	}
-
-	protected ClassPathSelection getClasspathSelection() {
-		if (model == null || model.getSelectedEARComponent() == null && !(J2EEProjectUtilities.isStandaloneProject(model.getComponent().getProject())))
-			return null;
-		return model.getClassPathSelection();
-	}
-
-	public void refreshCheckedItems() {
-		if (getClasspathSelection() == null)
-			return;
-		java.util.List elements = getClasspathSelection().getClasspathElements();
-		for (int i = 0; i < elements.size(); i++) {
-			ClasspathElement element = (ClasspathElement) elements.get(i);
-			availableJARsViewer.setChecked(element, element.isSelected());
-			if (element.isClasspathDependency()) {
-				availableJARsViewer.setGrayed(element, true);
-			}
-		}
-	}
-
-	public void refresh() {
-		final IProject project = model.getComponent().getProject();
-		// if not a web project and it is either referenced by an EAR or a dynamic web project.
-		if (!isWLPEntry() && (!J2EEProjectUtilities.isStandaloneProject(project) || 
-				               (J2EEProjectUtilities.getReferencingWebProjects(project).length > 0))) {
-			availableJARsViewer.setInput(getClasspathSelection());
-			GridData data = new GridData(GridData.FILL_BOTH);
-			int numlines = Math.min(10, availableJARsViewer.getTable().getItemCount());
-			data.heightHint = availableJARsViewer.getTable().getItemHeight() * numlines;
-			availableJARsViewer.getTable().setLayoutData(data);
-			refreshCheckedItems();
-			updateButtonEnablements();
-		} else {
-			availableJARsViewer.setInput(model.getClassPathSelectionForWLPs());
-			GridData data = new GridData(GridData.FILL_BOTH);
-			int numlines = Math.min(10, availableJARsViewer.getTable().getItemCount());
-			data.heightHint = availableJARsViewer.getTable().getItemHeight() * numlines;
-			availableJARsViewer.getTable().setLayoutData(data);
-			refreshWLPCheckedItems();
-		}
-	}
-	
-	private void refreshWLPCheckedItems() {
-		if (availableJARsViewer.getInput() != null) {
-			java.util.List elements = ((ClassPathSelection) availableJARsViewer.getInput()).getClasspathElements();
-			for (int i = 0; i < elements.size(); i++) {
-				ClasspathElement element = (ClasspathElement) elements.get(i);
-				availableJARsViewer.setChecked(element, element.isSelected());
-				if (element.isClasspathDependency()) {
-					availableJARsViewer.setGrayed(element, true);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Gets the model.
-	 * @return Returns a ClasspathModel
-	 */
-	public ClasspathModel getModel() {
-		return model;
-	}
-
-	/**
-	 * Sets the model.
-	 * @param model The model to set
-	 */
-	public void setModel(ClasspathModel model) {
-		this.model = model;
-		initializeEJBClientDefaults();
-	}
-
-	/**
-	 * Returns the readOnly.
-	 * @return boolean
-	 */
-	public boolean isReadOnly() {
-		return readOnly;
-	}
-
-
-	/**
-	 * Sets the readOnly.
-	 * @param readOnly The readOnly to set
-	 */
-	public void setReadOnly(boolean readOnly) {
-		this.readOnly = readOnly;
-	}
-
-	public boolean isWLPEntry() {
-		return model.isWLPModel();
-	}
-
-	/**
-	 * @deprecated do not use this method
-	 * @param isWLPEntry
-	 */
-	public void setWLPEntry(boolean isWLPEntry) {
-		this.isWLPEntry = isWLPEntry;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/IClasspathTableOwner.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/IClasspathTableOwner.java
deleted file mode 100644
index 94f64b3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/IClasspathTableOwner.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 17, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-
-/**
- * @author jialin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public interface IClasspathTableOwner {
-	Button primCreatePushButton(String label, Composite buttonColumn);
-	Button primCreateRadioButton(String label, Composite parent);
-	CheckboxTableViewer createAvailableJARsViewer(Composite parent);
-	Composite createButtonColumnComposite(Composite parent);
-	//Button createHideEJBClientJARsButton(Composite parent); This method is never used hence commeting it out - vkb
-	Group createGroup(Composite parent);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ICommonManifestUIConstants.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ICommonManifestUIConstants.java
deleted file mode 100644
index a6c4542..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ICommonManifestUIConstants.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 17, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.jst.j2ee.internal.common.CommonEditResourceHandler;
-
-/**
- * @author jialin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public interface ICommonManifestUIConstants {
-	String UP_BUTTON = ManifestUIResourceHandler.Up_1; 
-	String DOWN_BUTTON = ManifestUIResourceHandler.Down_2; 
-	String SELECT_ALL_BUTTON = ManifestUIResourceHandler.Select_All_3; 
-	String DE_SELECT_ALL_BUTTON = ManifestUIResourceHandler.Deselect_All_4; 
-	String ERROR_READING_MANIFEST_DIALOG_TITLE = ManifestUIResourceHandler.ERROR_READING_MANIFEST_DIALOG_TITLE; 
-	String SAVE_MANIFEST_WITH_ERROR =ManifestUIResourceHandler.SAVE_MANIFEST_WITH_ERROR; 
-	String ERROR_READING_MANIFEST_DIALOG_MESSAGE_EDITOR = ManifestUIResourceHandler.ERROR_READING_MANIFEST_DIALOG_MESSAGE_EDITOR; 
-	String ERROR_READING_MANIFEST_DIALOG_MESSAGE_PROP_PAGE = ManifestUIResourceHandler.ERROR_READING_MANIFEST_DIALOG_MESSAGE_PROP_PAGE; 
-	String MANIFEST_PROBLEM_1 = ManifestUIResourceHandler.MANIFEST_PROBLEM_1; 
-	String MANIFEST_PROBLEM_2 = ManifestUIResourceHandler.MANIFEST_PROBLEM_2; 
-	String MANIFEST_PROBLEM_3 = ManifestUIResourceHandler.MANIFEST_PROBLEM_3; 
-	String MANIFEST_PROBLEM_4 = ManifestUIResourceHandler.MANIFEST_PROBLEM_4; 
-	String REDIRECT_TEXT_EDITOR_UI_ = ManifestUIResourceHandler.REDIRECT_TEXT_EDITOR_UI_; 
-	
-	String EJB_CLIENT_RADIO_UI_		= CommonEditResourceHandler.getString("EJB_CLIENT_RADIO_UI_"); //$NON-NLS-1$
-	String USE_EJB_SERVER_JARs_UI_ 	= CommonEditResourceHandler.getString("USE_EJB_SERVER_JARs_UI_"); //$NON-NLS-1$
-	String USE_EJB_CLIENT_JARs_UI_ 	= CommonEditResourceHandler.getString("USE_EJB_CLIENT_JARs_UI_"); //$NON-NLS-1$
-	String USE_BOTH_UI_				= CommonEditResourceHandler.getString("USE_BOTH_UI_"); //$NON-NLS-1$
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/IJ2EEDependenciesControl.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/IJ2EEDependenciesControl.java
deleted file mode 100644
index 6005131..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/IJ2EEDependenciesControl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * rfrost@bea.com - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Interface for classes that implement a portion the "J2EE Module Dependencies"
- * property page logic.
- */
-public interface IJ2EEDependenciesControl extends ICommonManifestUIConstants {
-	
-	/**
-	 * Creates the Composite associated with this control.
-	 * @param parent Parent Composite.
-	 * @return Composite for the control.
-	 */
-	Composite createContents(Composite parent);
-	
-	/**
-	 * Called when the property page's <code>performOk()</code> method is called.
-	 * @return
-	 */
-	boolean performOk();
-	
-	/**
-	 * Called when the property page's <code>performDefaults()</code> method is called.
-	 * @return
-	 */
-	void performDefaults();
-	
-	/**
-	 * Called when the property page's <code>performCancel()</code> method is called.
-	 * @return
-	 */
-	boolean performCancel();
-	
-	/**
-	 * Called when the property page's <code>setVisible()</code> method is called.
-	 * @return
-	 */
-	void setVisible(boolean visible);
-	
-	/**
-	 * Called when the property page's <code>dispose()</code> method is called.
-	 * @return
-	 */
-	void dispose();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEComponentProjectMigrator.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEComponentProjectMigrator.java
deleted file mode 100644
index fdf5cb3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEComponentProjectMigrator.java
+++ /dev/null
@@ -1,643 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jem.workbench.utility.JemProjectUtilities;
-import org.eclipse.jst.common.frameworks.CommonFrameworksPlugin;
-import org.eclipse.jst.common.project.facet.IJavaFacetInstallDataModelProperties;
-import org.eclipse.jst.common.project.facet.JavaFacetInstallDataModelProvider;
-import org.eclipse.jst.common.project.facet.WtpUtils;
-import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathContainerUtils;
-import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
-import org.eclipse.jst.j2ee.internal.earcreation.EarFacetInstallDataModelProvider;
-import org.eclipse.jst.j2ee.internal.ejb.project.operations.EjbFacetInstallDataModelProvider;
-import org.eclipse.jst.j2ee.internal.ejb.project.operations.IEjbFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPreferences;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.jca.project.facet.ConnectorFacetInstallDataModelProvider;
-import org.eclipse.jst.j2ee.project.facet.AppClientFacetInstallDataModelProvider;
-import org.eclipse.jst.j2ee.project.facet.IAppClientFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.project.facet.UtilityFacetInstallDataModelProvider;
-import org.eclipse.jst.j2ee.web.project.facet.WebFacetInstallDataModelProvider;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.navigator.CommonViewer;
-import org.eclipse.ui.navigator.INavigatorContentService;
-import org.eclipse.wst.common.componentcore.datamodel.FacetProjectCreationDataModelProvider;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties.FacetDataModelMap;
-import org.eclipse.wst.common.componentcore.internal.ComponentType;
-import org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory;
-import org.eclipse.wst.common.componentcore.internal.IComponentProjectMigrator;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.SimpleValidateEdit;
-import org.eclipse.wst.project.facet.SimpleWebFacetInstallDataModelProvider;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerUtil;
-
-public class J2EEComponentProjectMigrator implements IComponentProjectMigrator {
-
-	private static final String WEB_LIB_CONTAINER = "org.eclipse.jst.j2ee.internal.web.container";
-	private static final String WEB_LIB_PATH = "/WEB-INF/lib";
-	private static final String OLD_DEPLOYABLES_PATH = ".deployables";
-	private IProject project;
-	
-	private static final String[] J2EE_CONTENT_EXTENSION_IDS = new String[] {
-		"org.eclipse.jst.navigator.j2ee.ui.EARDDContent", //$NON-NLS-1$
-		"org.eclipse.jst.navigator.j2ee.ui.WebDDContent", //$NON-NLS-1$
-		"org.eclipse.jst.navigator.j2ee.ui.EJBDDContent", //$NON-NLS-1$
-		"org.eclipse.jst.navigator.j2ee.ui.ConnectorDDContent" //$NON-NLS-1$
-	};
-	
-	private static final String PROJECT_EXPLORER = "org.eclipse.ui.navigator.ProjectExplorer"; //$NON-NLS-1$
-	
-	public J2EEComponentProjectMigrator() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-
-	public void migrateProject(IProject aProject) {
-		if (aProject.isAccessible() && (aProject.getFile(StructureEdit.MODULE_META_FILE_NAME).exists())) {
-			// The file corresponding to StructureEdit.MODULE_META_FILE_NAME is crucial to migration.
-			// If it does not exist, the project cannot be migrated. We should never fail the test for existence
-			// of the file, if we do then something has gone badly wrong.
-			Resource resource = WorkbenchResourceHelperBase.getResource(aProject.getFile(StructureEdit.MODULE_META_FILE_NAME), false);
-			if(resource != null && resource.isLoaded()){
-				// Unload the resource because the model inside the StructureEdit was cached when the 
-				// the project was imported, and files may have moved due to migration (.wtpmodules for example).
-				resource.unload();
-			}
-		
-			final List files = new ArrayList();
-			files.add(aProject.getFile(J2EEProjectUtilities.DOT_PROJECT));
-			files.add(aProject.getFile(J2EEProjectUtilities.DOT_CLASSPATH));
-			files.add(aProject.getFile(StructureEdit.MODULE_META_FILE_NAME));
-			if(SimpleValidateEdit.validateEdit(files)){
-				project = aProject;
-				
-				removeComponentBuilders(project);
-				if (multipleComponentsDetected())
-					createNewProjects();
-				String facetid = getFacetFromProject(project);
-				if (facetid.length() == 0)
-					addFacets(project);
-				J2EEComponentClasspathUpdater.getInstance().queueUpdate(project);
-			}
-		}
-		ensureJ2EEContentExtensionsEnabled();
-	}
-	
-	/**
-	 * Ensure the J2EE content extension ids are enabled on the project explorer 
-	 * for the projects being migrated.
-	 */
-	private void ensureJ2EEContentExtensionsEnabled() {
-		IViewPart view = null;
-		try {
-			view = PlatformUI.getWorkbench().getWorkbenchWindows()[0].getActivePage().findView(PROJECT_EXPLORER);
-		} catch (Exception e) { 
-			//Just bail and return if there is no view
-		}
-		if (view == null)
-			return;
-		
-		INavigatorContentService contentService = (INavigatorContentService) view.getAdapter(INavigatorContentService.class);
-		CommonViewer viewer = (CommonViewer) view.getAdapter(CommonViewer.class);
-		
-		// Set the J2EE content extensions as enabled now that we have set the J2EE facets
-		if (contentService != null)
-			contentService.getActivationService().activateExtensions(J2EE_CONTENT_EXTENSION_IDS, false);
-		
-		// Update the viewer if we are in the current UI thread
-		if (viewer != null) {
-			Display display = viewer.getControl().getDisplay();
-			if (display!=null && Thread.currentThread().equals(display.getThread()))
-				viewer.refresh();
-		}
-	}
-
-		private void createNewProjects() {
-
-			StructureEdit se = null;
-			try {
-				se = StructureEdit.getStructureEditForWrite(project);
-				List comps = se.getComponentModelRoot().getComponents();
-				List removedComps = new ArrayList();
-				for (int i = 1;i<comps.size();i++) {
-					WorkbenchComponent comp = (WorkbenchComponent) comps.get(i);
-					IWorkspace ws = ResourcesPlugin.getWorkspace();
-					IProject newProj = ws.getRoot().getProject(comp.getName());
-					if (!newProj.exists()) {
-						try {
-							createProj(newProj,(!comp.getComponentType().getComponentTypeId().equals(J2EEProjectUtilities.ENTERPRISE_APPLICATION)));
-							WtpUtils.addNatures(newProj);
-						} catch (CoreException e) {
-							// TODO Auto-generated catch block
-							e.printStackTrace();
-						}
-					}
-					if (comp!=null && comp.getComponentType()!=null)
-						addFacetsToProject(newProj,comp.getComponentType().getComponentTypeId(),comp.getComponentType().getVersion(),false);
-					removedComps.add(comp);
-					IFolder compFolder = project.getFolder(comp.getName());
-					if (compFolder.exists())
-						try {
-							compFolder.delete(true,null);
-						} catch (CoreException e) {
-							// TODO Auto-generated catch block
-							e.printStackTrace();
-						}
-				}
-				se.getComponentModelRoot().getComponents().removeAll(removedComps);
-				se.save(null);
-			
-			} finally {
-				if (se != null)
-					se.dispose();
-			}
-	
-		
-	}
-
-		private void createProj(IProject newProj, boolean isJavaProject) throws CoreException {
-			newProj.create(null);
-			IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(newProj.getName());
-//			if (isJavaProject)
-//				description.setNatureIds(new String[]{JavaCore.NATURE_ID});
-			description.setLocation(null);
-			newProj.open(null);
-			newProj.setDescription(description, null);
-		}
-
-		private boolean multipleComponentsDetected() {
-			StructureEdit se = null;
-			try {
-				se = StructureEdit.getStructureEditForRead(project);
-				if (se == null) return false;
-				if (se.getComponentModelRoot() == null) return false;
-				return se.getComponentModelRoot().getComponents().size() > 1;
-			} finally {
-				if (se != null)
-					se.dispose();
-			}
-	}
-
-		private void removeComponentBuilders(IProject aProject) {
-		try {
-			aProject.refreshLocal(IResource.DEPTH_INFINITE,null);
-		} catch (CoreException e1) {
-			// TODO Auto-generated catch block
-			e1.printStackTrace();
-		}
-		//IJavaProject javaP = JemProjectUtilities.getJavaProject(aProject);
-		List oldBuilders = new ArrayList();
-		oldBuilders.add("org.eclipse.wst.common.modulecore.ComponentStructuralBuilder");
-		oldBuilders.add("org.eclipse.wst.common.modulecore.ComponentStructuralBuilderDependencyResolver");
-		oldBuilders.add("org.eclipse.wst.common.modulecore.DependencyGraphBuilder");
-		try {
-			J2EEProjectUtilities.removeBuilders(aProject,oldBuilders);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		
-	}
-
-		public String getFacetFromProject(IProject aProject) {
-			return J2EEProjectUtilities.getJ2EEProjectType(aProject);
-		}
-
-		
-		protected IDataModel setupJavaInstallAction(IProject aProject, boolean existing,String srcFolder) {
-			IDataModel dm = DataModelFactory.createDataModel(new JavaFacetInstallDataModelProvider());
-			dm.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			String jVersion = "1.4";
-			IScopeContext context = new ProjectScope( project );
-		    IEclipsePreferences prefs 
-		            = context.getNode( JavaCore.PLUGIN_ID );
-			if (JavaCore.VERSION_1_5.equals(prefs.get(JavaCore.COMPILER_COMPLIANCE,JavaCore.VERSION_1_4))) {
-				jVersion = "5.0";
-			}
-			dm.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, jVersion); //$NON-NLS-1$
-			if (!existing)
-				dm.setStringProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME, srcFolder); //$NON-NLS-1$
-			return dm;
-		}
-		
-		protected IDataModel setupUtilInstallAction(IProject aProject,String specVersion) {
-			IDataModel aFacetInstallDataModel = DataModelFactory.createDataModel(new UtilityFacetInstallDataModelProvider());
-			aFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			aFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, specVersion);
-			aFacetInstallDataModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR,false);
-			aFacetInstallDataModel.setStringProperty(IJ2EEModuleFacetInstallDataModelProperties.EAR_PROJECT_NAME,null);
-			return aFacetInstallDataModel;
-		}
-		protected IDataModel setupEarInstallAction(IProject aProject,String specVersion) {
-			IDataModel earFacetInstallDataModel = DataModelFactory.createDataModel(new EarFacetInstallDataModelProvider());
-			earFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			earFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, specVersion);
-			
-			return earFacetInstallDataModel;
-		}
-		protected IDataModel setupAppClientInstallAction(IProject aProject,String specVersion) {
-			IDataModel aFacetInstallDataModel = DataModelFactory.createDataModel(new AppClientFacetInstallDataModelProvider());
-			aFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			aFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, specVersion);
-			aFacetInstallDataModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR,false);
-			aFacetInstallDataModel.setStringProperty(IJ2EEModuleFacetInstallDataModelProperties.EAR_PROJECT_NAME,null);
-			aFacetInstallDataModel.setBooleanProperty(IAppClientFacetInstallDataModelProperties.CREATE_DEFAULT_MAIN_CLASS,false);
-			return aFacetInstallDataModel;
-		}
-		protected IDataModel setupConnectorInstallAction(IProject aProject,String specVersion) {
-			IDataModel aFacetInstallDataModel = DataModelFactory.createDataModel(new ConnectorFacetInstallDataModelProvider());
-			aFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			aFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, specVersion);
-			aFacetInstallDataModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR,false);
-			aFacetInstallDataModel.setStringProperty(IJ2EEModuleFacetInstallDataModelProperties.EAR_PROJECT_NAME,null);
-			return aFacetInstallDataModel;
-		}
-
-		private void addFacets(IProject aProject) {
-			StructureEdit edit = null;
-			try {
-				edit = StructureEdit.getStructureEditForWrite(aProject);
-				if (edit == null) return;  // Not a component project....
-				edit.getModuleStructuralModel().setUseOldFormat(true);
-				if (edit.getComponent() == null) return; // Can't migrate
-				ComponentType type = edit.getComponent().getComponentType();
-				if (type == null) return;  // Can't migrate
-				String compId = type.getComponentTypeId();
-				String specVersion = edit.getComponent().getComponentType().getVersion();
-				moveMetaProperties(edit.getComponent(),type);
-				addFacetsToProject(aProject, compId, specVersion,true);
-			}
-			finally {
-				if (edit != null) {
-					edit.save(null);
-					edit.getModuleStructuralModel().setUseOldFormat(false);
-					edit.dispose();
-				}
-			}
-			
-		}
-
-		private void moveMetaProperties(WorkbenchComponent component, ComponentType type) {
-			List props = type.getProperties();
-			List compProps = component.getProperties();
-			for (Iterator iter = props.iterator(); iter.hasNext();) {
-				Property element = (Property) iter.next();
-				Property newProp = ComponentcoreFactory.eINSTANCE.createProperty();
-				newProp.setName(element.getName());
-				newProp.setValue(element.getValue());
-				compProps.add(newProp);
-			}
-			props.clear();
-		}
-
-		private void addFacetsToProject(IProject aProject, String compId, String specVersion,boolean existing) {
-			if (compId.equals(J2EEProjectUtilities.DYNAMIC_WEB))
-				installWEBFacets(aProject,specVersion,existing);
-			else if (compId.equals(J2EEProjectUtilities.EJB))
-				installEJBFacets(aProject,specVersion,existing);
-			else if (compId.equals(J2EEProjectUtilities.APPLICATION_CLIENT))
-				installAppClientFacets(aProject,specVersion,existing);
-			else if (compId.equals(J2EEProjectUtilities.ENTERPRISE_APPLICATION))
-				installEARFacets(aProject,specVersion,existing);
-			else if (compId.equals(J2EEProjectUtilities.JCA))
-				installConnectorFacets(aProject,specVersion,existing);
-			else if (compId.equals(J2EEProjectUtilities.UTILITY))
-				installUtilityFacets(aProject,specVersion,existing);
-			else if (compId.equals(J2EEProjectUtilities.STATIC_WEB))
-				installStaticWebFacets(aProject,specVersion,existing);
-		}
-
-		private void installStaticWebFacets(IProject project2, String specVersion, boolean existing) {
-			IDataModel dm = DataModelFactory.createDataModel(new FacetProjectCreationDataModelProvider());
-			dm.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME, project2.getName());
-			FacetDataModelMap facetDMs = (FacetDataModelMap) dm.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			//facetDMs.add(setupJavaInstallAction(webProj,existing,CreationConstants.DEFAULT_WEB_SOURCE_FOLDER));
-			IDataModel newModel = setupStaticWebInstallAction(project2);
-			facetDMs.add(newModel);
-			//setRuntime(webProj,dm); //Setting runtime property
-			try {
-				/**
-				 * Warning cleanup 12/07/2005
-				 */
-				//IStatus stat =  dm.getDefaultOperation().execute(null,null);
-				dm.getDefaultOperation().execute(null,null);
-			} catch (ExecutionException e) {
-				Throwable realException = e.getCause();
-				if (realException != null && realException instanceof CoreException) {
-					IStatus st = ((CoreException)realException).getStatus();
-					if (st != null)
-						System.out.println(st);
-					realException.printStackTrace();
-				}
-			}
-		}
-
-		private IDataModel setupStaticWebInstallAction(IProject project2) {
-			IDataModel webFacetInstallDataModel = DataModelFactory.createDataModel(new SimpleWebFacetInstallDataModelProvider());
-			webFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, project2.getName());
-			webFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, "1.0");
-			
-			return webFacetInstallDataModel;
-		}
-
-		private void installUtilityFacets(IProject aProject, String specVersion, boolean existing) {
-			replaceDeployablesOutputIfNecessary(project);
-			IDataModel dm = DataModelFactory.createDataModel(new FacetProjectCreationDataModelProvider());
-			dm.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			FacetDataModelMap facetDMs = (FacetDataModelMap) dm.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			facetDMs.add(setupJavaInstallAction(aProject,existing,"src"));
-			IDataModel newModel = setupUtilInstallAction(aProject,specVersion);
-			facetDMs.add(newModel);
-			try {
-				/**
-				 * Warning cleanup 12/07/2005
-				 */
-				//IStatus stat =  dm.getDefaultOperation().execute(null,null);
-				dm.getDefaultOperation().execute(null,null);
-			} catch (ExecutionException e) {
-				Throwable realException = e.getCause();
-				if (realException != null && realException instanceof CoreException) {
-					IStatus st = ((CoreException)realException).getStatus();
-					if (st != null)
-						System.out.println(st);
-					realException.printStackTrace();
-				}
-			}
-			
-		}
-
-		private void installConnectorFacets(IProject aProject, String specVersion, boolean existing) {
-			replaceDeployablesOutputIfNecessary(project);
-			IDataModel dm = DataModelFactory.createDataModel(new FacetProjectCreationDataModelProvider());
-			dm.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			FacetDataModelMap facetDMs = (FacetDataModelMap) dm.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			facetDMs.add(setupJavaInstallAction(aProject,existing,J2EEPlugin.getDefault().getJ2EEPreferences().getString(J2EEPreferences.Keys.JCA_CONTENT_FOLDER)));
-			IDataModel newModel = setupConnectorInstallAction(aProject,specVersion);
-			facetDMs.add(newModel);
-			try {
-				/**
-				 * Warning cleanup 12/07/2005
-				 */
-				//IStatus stat =  dm.getDefaultOperation().execute(null,null);
-				dm.getDefaultOperation().execute(null,null);
-			} catch (ExecutionException e) {
-				Throwable realException = e.getCause();
-				if (realException != null && realException instanceof CoreException) {
-					IStatus st = ((CoreException)realException).getStatus();
-					if (st != null)
-						System.out.println(st);
-					realException.printStackTrace();
-				}
-			}
-			
-		}
-
-		private void installEARFacets(IProject aProject, String specVersion, boolean existing) {
-			IDataModel dm = DataModelFactory.createDataModel(new FacetProjectCreationDataModelProvider());
-			dm.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			FacetDataModelMap facetDMs = (FacetDataModelMap) dm.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			IDataModel newModel = setupEarInstallAction(aProject,specVersion);
-			facetDMs.add(newModel);
-			try {
-				/**
-				 * Warning cleanup 12/07/2005
-				 */
-				//IStatus stat =  dm.getDefaultOperation().execute(null,null);
-				dm.getDefaultOperation().execute(null,null);
-			} catch (ExecutionException e) {
-				Throwable realException = e.getCause();
-				if (realException != null && realException instanceof CoreException) {
-					IStatus st = ((CoreException)realException).getStatus();
-					if (st != null)
-						System.out.println(st);
-					realException.printStackTrace();
-				}
-			}
-			
-		}
-
-		private void installAppClientFacets(IProject aProject, String specVersion, boolean existing) {
-			replaceDeployablesOutputIfNecessary(project);
-			IDataModel dm = DataModelFactory.createDataModel(new FacetProjectCreationDataModelProvider());
-			dm.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			FacetDataModelMap facetDMs = (FacetDataModelMap) dm.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			facetDMs.add(setupJavaInstallAction(aProject,existing,J2EEPlugin.getDefault().getJ2EEPreferences().getString(J2EEPreferences.Keys.APP_CLIENT_CONTENT_FOLDER)));
-			IDataModel newModel = setupAppClientInstallAction(aProject,specVersion);
-			facetDMs.add(newModel);
-			try {
-				/**
-				 * Warning cleanup 12/07/2005
-				 */
-				//IStatus stat =  dm.getDefaultOperation().execute(null,null);
-				dm.getDefaultOperation().execute(null,null);
-			} catch (ExecutionException e) {
-				Throwable realException = e.getCause();
-				if (realException != null && realException instanceof CoreException) {
-					IStatus st = ((CoreException)realException).getStatus();
-					if (st != null)
-						System.out.println(st);
-					realException.printStackTrace();
-				}
-			}
-			
-		}
-
-		private void installEJBFacets(IProject ejbProject2,String ejbVersion, boolean existing) {
-			replaceDeployablesOutputIfNecessary(project);
-			IDataModel dm = DataModelFactory.createDataModel(new FacetProjectCreationDataModelProvider());
-			dm.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME, ejbProject2.getName());
-			FacetDataModelMap facetDMs = (FacetDataModelMap) dm.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			facetDMs.add(setupJavaInstallAction(ejbProject2,existing,J2EEPlugin.getDefault().getJ2EEPreferences().getString(J2EEPreferences.Keys.EJB_CONTENT_FOLDER)));
-			IDataModel newModel = setupEjbInstallAction(ejbProject2,ejbVersion,existing);
-			facetDMs.add(newModel);
-			//setRuntime(ejbProject2,dm); //Setting runtime property
-			try {
-				/**
-				 * Warning cleanup 12/07/2005
-				 */
-				//IStatus stat =  dm.getDefaultOperation().execute(null,null);
-				dm.getDefaultOperation().execute(null,null);
-			} catch (ExecutionException e) {
-				Throwable realException = e.getCause();
-				if (realException != null && realException instanceof CoreException) {
-					IStatus st = ((CoreException)realException).getStatus();
-					if (st != null)
-						System.out.println(st);
-					realException.printStackTrace();
-				}
-			}
-			
-		}
-		private void installWEBFacets(IProject webProj,String specVersion, boolean existing) {
-			removeOldWebContainerIfNecessary(project);
-			replaceDeployablesOutputIfNecessary(project);
-			
-			IDataModel dm = DataModelFactory.createDataModel(new FacetProjectCreationDataModelProvider());
-			dm.setProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME, webProj.getName());
-			FacetDataModelMap facetDMs = (FacetDataModelMap) dm.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-			facetDMs.add(setupJavaInstallAction(webProj,existing, CommonFrameworksPlugin.getDefault().getPluginPreferences().getString(CommonFrameworksPlugin.DEFAULT_SOURCE_FOLDER)));
-			IDataModel newModel = setupWebInstallAction(webProj,specVersion);
-			facetDMs.add(newModel);
-			//setRuntime(webProj,dm); //Setting runtime property
-			try {
-				/**
-				 * Warning cleanup 12/07/2005
-				 */
-				//IStatus stat =  dm.getDefaultOperation().execute(null,null);
-				dm.getDefaultOperation().execute(null,null);
-			} catch (ExecutionException e) {
-				Throwable realException = e.getCause();
-				if (realException != null && realException instanceof CoreException) {
-					IStatus st = ((CoreException)realException).getStatus();
-					if (st != null)
-						System.out.println(st);
-					realException.printStackTrace();
-				}
-			} catch (Exception ex) {
-				if (ex != null && ex instanceof CoreException) {
-					IStatus st = ((CoreException)ex).getStatus();
-					if (st != null)
-						System.out.println(st);
-					ex.printStackTrace();
-				}
-			}
-			
-			
-		}
-		private void replaceDeployablesOutputIfNecessary(IProject proj) {
-
-
-			IJavaProject jproj = JemProjectUtilities.getJavaProject(proj);
-			final IClasspathEntry[] current;
-			boolean deployablesFound = false;
-			try {
-				current = jproj.getRawClasspath();
-				List updatedList = new ArrayList();
-				IPath sourcePath = null;
-				for (int i = 0; i < current.length; i++) {
-					IClasspathEntry entry = current[i];
-					if ((entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) && (entry.getOutputLocation() != null && entry.getOutputLocation().toString().indexOf(OLD_DEPLOYABLES_PATH) != -1)) {
-						sourcePath = entry.getPath();
-						updatedList.add(JavaCore.newSourceEntry(sourcePath));
-						deployablesFound = true;
-					}
-					else
-						updatedList.add(entry);
-				}
-				if (deployablesFound) {
-					IClasspathEntry[] updated = (IClasspathEntry[])updatedList.toArray(new IClasspathEntry[updatedList.size()]);
-					jproj.setRawClasspath(updated, null);
-					jproj.save(null, true);
-				}
-			} catch (JavaModelException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			
-		
-			
-		}
-
-		private void removeOldWebContainerIfNecessary(IProject webProj) {
-
-			IJavaProject jproj = JemProjectUtilities.getJavaProject(webProj);
-			final IClasspathEntry[] current;
-			try {
-				current = jproj.getRawClasspath();
-				List updatedList = new ArrayList();
-				boolean useDefaultWebAppLibraries = J2EEComponentClasspathContainerUtils.getDefaultUseWebAppLibraries();
-				for (int i = 0; i < current.length; i++) {
-					IClasspathEntry entry = current[i];
-					// the web container is added to the classpath if:
-					// 1. they don't have an entry for WEB_LIB_CONTAINER AND
-					// 2. they have an entry for WEB_LIB_PATH BUT
-					// they do not have the preference checked to use the Web App classpath container
-					if ((entry.getPath().toString().indexOf(WEB_LIB_CONTAINER) == -1) && 
-							((entry.getPath().toString().indexOf(WEB_LIB_PATH) == -1) || !useDefaultWebAppLibraries))
-						updatedList.add(entry);
-				}
-				IClasspathEntry[] updated = (IClasspathEntry[])updatedList.toArray(new IClasspathEntry[updatedList.size()]);
-				jproj.setRawClasspath(updated, null);
-				jproj.save(null, true);
-			} catch (JavaModelException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			
-		}
-
-		protected IRuntime getRuntimeByID(String id) {
-			IRuntime[] targets = ServerUtil.getRuntimes("", "");
-			for (int i = 0; i < targets.length; i++) {
-				IRuntime target = targets[i];
-				if (id.equals(target.getId()))
-					return target;
-			}
-			return null;
-		}
-
-		protected IDataModel setupEjbInstallAction(IProject aProject,String ejbVersion, boolean existing) {
-			IDataModel ejbFacetInstallDataModel = DataModelFactory.createDataModel(new EjbFacetInstallDataModelProvider());
-			ejbFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			ejbFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, ejbVersion);
-			ejbFacetInstallDataModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR,false);
-			ejbFacetInstallDataModel.setStringProperty(IJ2EEModuleFacetInstallDataModelProperties.EAR_PROJECT_NAME,null);
-			if (!existing)
-				ejbFacetInstallDataModel.setProperty(IEjbFacetInstallDataModelProperties.CONFIG_FOLDER, J2EEPlugin.getDefault().getJ2EEPreferences().getString(J2EEPreferences.Keys.EJB_CONTENT_FOLDER));
-			return ejbFacetInstallDataModel;
-		}
-
-		protected IDataModel setupWebInstallAction(IProject aProject,String specVersion) {
-			IDataModel webFacetInstallDataModel = DataModelFactory.createDataModel(new WebFacetInstallDataModelProvider());
-			webFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_PROJECT_NAME, aProject.getName());
-			webFacetInstallDataModel.setProperty(IFacetDataModelProperties.FACET_VERSION_STR, specVersion);
-			webFacetInstallDataModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR,false);
-			webFacetInstallDataModel.setStringProperty(IJ2EEModuleFacetInstallDataModelProperties.EAR_PROJECT_NAME,null);
-			return webFacetInstallDataModel;
-		}
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEDependenciesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEDependenciesPage.java
deleted file mode 100644
index 31d0c79..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEDependenciesPage.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation as prop page heirarchy
- * rfrost@bea.com - conversion to single property page impl
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * Primary project property page for J2EE dependencies; content is dynamically 
- * generated based on the project facets and will be comprised by a
- * set of IJ2EEDependenciesControl implementations.
- */
-public class J2EEDependenciesPage extends PropertyPage {
-	
-	public String DESCRIPTION = J2EEUIMessages.getResourceString("DESCRIPTION"); //$NON-NLS-1$
-
-	private IProject project;
-	private IJ2EEDependenciesControl[] controls = new IJ2EEDependenciesControl[0];
-	
-	public J2EEDependenciesPage() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		
-		// Need to find out what type of project we are handling
-		project = (IProject) getElement().getAdapter(IResource.class);
-		boolean isEAR = false;
-		boolean isWEB = false;
-		try {
-			final IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-			if (facetedProject == null) {
-				return getFacetErrorComposite(parent);
-			}
-			isEAR = facetedProject.hasProjectFacet(ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_EAR_MODULE)); 
-			isWEB = facetedProject.hasProjectFacet(ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_WEB_MODULE));
-		} catch (CoreException ce) {
-			return getFacetErrorComposite(parent);
-		}
-		
-		if (isEAR) {
-			return createEARContent(parent);
-		} else if (isWEB) {
-			return createWebContent(parent);
-		} else {
-			return createNonEARContent(parent);
-		}
-	}
-	
-	private Composite getFacetErrorComposite(final Composite parent) {
-		final String errorCheckingFacet = ManifestUIResourceHandler.Error_Checking_Project_Facets;
-		setErrorMessage(errorCheckingFacet);
-		setValid(false);
-		return getErrorComposite(parent, errorCheckingFacet);		
-	}
-	
-	private Composite getErrorComposite(final Composite parent, final String error) {
-		final Composite composite = new Composite(parent, SWT.NONE);
-		final GridLayout layout = new GridLayout();
-        layout.marginWidth = 0;
-        layout.marginWidth = 0;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		final Label label= new Label(composite, SWT.NONE);
-		label.setText(error);
-		return composite;
-	}
-	
-	private Composite createEARContent(final Composite parent) {
-		controls = new IJ2EEDependenciesControl[1];
-		controls[0] = new AddModulestoEARPropertiesPage(project, this);
-		return controls[0].createContents(parent);
-	}
-	
-	private Composite createWebContent(final Composite parent) {
-		final boolean standalone = J2EEProjectUtilities.isStandaloneProject(project);
-		
-		if (standalone) {
-			// only need to create the Web Libraries page
-			controls = new IJ2EEDependenciesControl[1];
-			controls[0] = new WebLibDependencyPropertiesPage(project, this);
-			return controls[0].createContents(parent);
-		} else {
-			// Create a tabbed folder with both "J2EE Modules" and "Web Libraries"
-			final TabFolder folder = new TabFolder(parent, SWT.LEFT);
-			folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-			folder.setFont(parent.getFont());
-
-			// Create the two tabs 
-			controls = new IJ2EEDependenciesControl[2];
-		
-			controls[0] = new JARDependencyPropertiesPage(project, this);
-			TabItem tab = new TabItem(folder, SWT.NONE);
-			tab.setControl(controls[0].createContents(folder));
-			tab.setText(ManifestUIResourceHandler.J2EE_Modules);
-			controls[1] = new WebLibDependencyPropertiesPage(project, this);		
-			tab = new TabItem(folder, SWT.NONE);
-			tab.setControl(controls[1].createContents(folder));
-			tab.setText(ManifestUIResourceHandler.Web_Libraries);
-		
-			folder.setSelection(0);
-			return folder;
-		}
-	}
-	
-	private Composite createNonEARContent(final Composite parent) {
-		controls = new IJ2EEDependenciesControl[1];
-		final boolean standalone = J2EEProjectUtilities.isStandaloneProject(project);
-		if (standalone) {
-			// if not referenced by an EAR, check if referenced by a dynamic web project
-			if (J2EEProjectUtilities.getReferencingWebProjects(project).length > 0) {
-				controls[0] = new WebRefDependencyPropertiesPage(project, this);
-			} else {
-				return getUnreferencedErrorComposite(parent);
-			}
-		} else { 
-			controls[0] = new JARDependencyPropertiesPage(project, this);			
-		}
-
-		return controls[0].createContents(parent);
-	}
-	
-	private Composite getUnreferencedErrorComposite(final Composite parent) {
-		final String msg = ManifestUIResourceHandler.Unreferenced_Module_Error;
-		setErrorMessage(msg);
-		return getErrorComposite(parent, msg);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				if (!controls[i].performOk()) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	public void performDefaults() {
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				controls[i].performDefaults();
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				if (!controls[i].performCancel()) {
-					return false;
-				}
-			}
-		}
-		return super.performCancel();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		for (int i = 0; i < controls.length; i++) {
-			if (controls[i] != null) {
-				controls[i].setVisible(visible);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		for (int i = 0; i < controls.length; i++) {
-			if(controls[i] != null){
-				controls[i].dispose();
-			}
-		}
-	}
-
-	protected static void createDescriptionComposite(final Composite parent, final String description) {
-		Composite descriptionComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		descriptionComp.setLayout(layout);
-		descriptionComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fillDescription(descriptionComp, description);
-	}
-	
-	private static void fillDescription(Composite c, String s) {
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 250;
-		Text text = new Text(c, SWT.READ_ONLY | SWT.WRAP);
-		text.setLayoutData(data);
-		text.setText(s);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesConstants.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesConstants.java
deleted file mode 100644
index ddfb3ee..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/J2EEPropertiesConstants.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 8, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public interface J2EEPropertiesConstants {
-	//J2EEUIMessages.getResourceString("Import_Classes");
-	public String J2EE_LEVEL = J2EEUIMessages.getResourceString("J2EE_Level"); //$NON-NLS-1$
-	public String J2EE_12 = J2EEUIMessages.getResourceString("J2EE_12"); //$NON-NLS-1$
-	public String J2EE_12_DESCRIPTION = J2EEUIMessages.getResourceString("J2EE_12_DESCRIPTION"); //$NON-NLS-1$
-	public String J2EE_13 = J2EEUIMessages.getResourceString("J2EE_13"); //$NON-NLS-1$
-	public String J2EE_13_DESCRIPTION = J2EEUIMessages.getResourceString("J2EE_13_DESCRIPTION"); //$NON-NLS-1$
-	public String J2EE_14_DESCRIPTION = J2EEUIMessages.getResourceString("J2EE_14_DESCRIPTION"); //$NON-NLS-1$
-	public String EJB_LEVEL = J2EEUIMessages.getResourceString("EJB_LEVEL"); //$NON-NLS-1$
-	public String EJB_11 = J2EEUIMessages.getResourceString("EJB_11"); //$NON-NLS-1$
-	public String EJB_11_DESCRIPTION = J2EEUIMessages.getResourceString("EJB_11_DESCRIPTION"); //$NON-NLS-1$
-	public String EJB_20 = J2EEUIMessages.getResourceString("EJB_20"); //$NON-NLS-1$
-	public String EJB_20_DESCRIPTION = J2EEUIMessages.getResourceString("EJB_20_DESCRIPTION"); //$NON-NLS-1$
-	public String EJB_21_DESCRIPTION = J2EEUIMessages.getResourceString("EJB_21_DESCRIPTION"); //$NON-NLS-1$
-	public String CONNECTOR_LEVEL = J2EEUIMessages.getResourceString("CONNECTOR_LEVEL"); //$NON-NLS-1$
-	public String CONNECTOR_10 = J2EEUIMessages.getResourceString("CONNECTOR_10"); //$NON-NLS-1$
-	public String CONNECTOR_15 = J2EEUIMessages.getResourceString("CONNECTOR_15"); //$NON-NLS-1$
-	public String CONNECTOR_10_DESCRIPTION = J2EEUIMessages.getResourceString("CONNECTOR_10_DESCRIPTION"); //$NON-NLS-1$
-	public String CONNECTOR_15_DESCRIPTION = J2EEUIMessages.getResourceString("CONNECTOR_15_DESCRIPTION"); //$NON-NLS-1$
-	public String WEB_LEVEL = J2EEUIMessages.getResourceString("WEB_LEVEL"); //$NON-NLS-1$
-	public String WEB_22_DESCRIPTION = J2EEUIMessages.getResourceString("WEB_22_DESCRIPTION"); //$NON-NLS-1$
-	public String WEB_23_DESCRIPTION = J2EEUIMessages.getResourceString("WEB_23_DESCRIPTION"); //$NON-NLS-1$
-	public String WEB_24_DESCRIPTION = J2EEUIMessages.getResourceString("WEB_24_DESCRIPTION"); //$NON-NLS-1$
-	public String APP_CLIENT_LEVEL = J2EEUIMessages.getResourceString("APP_CLIENT_LEVEL"); //$NON-NLS-1$
-	public String APP_CLIENT_12_DESCRIPTION = J2EEUIMessages.getResourceString("APP_CLIENT_12_DESCRIPTION"); //$NON-NLS-1$
-	public String APP_CLIENT_13_DESCRIPTION = J2EEUIMessages.getResourceString("APP_CLIENT_13_DESCRIPTION"); //$NON-NLS-1$
-	public String APP_CLIENT_14_DESCRIPTION = J2EEUIMessages.getResourceString("APP_CLIENT_14_DESCRIPTION"); //$NON-NLS-1$
-	public String DESCRIPTION = J2EEUIMessages.getResourceString("DESCRIPTION"); //$NON-NLS-1$
-	public String WEB_CONTEXT_ROOT = J2EEUIMessages.getResourceString("WEB_CONTEXT_ROOT"); //$NON-NLS-1$
-	public String WEB_CONTENT_FOLDER_NAME = J2EEUIMessages.getResourceString("WEB_CONTENT_FOLDER_NAME"); //$NON-NLS-1$
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/JARDependencyPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/JARDependencyPropertiesPage.java
deleted file mode 100644
index bdcab2f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/JARDependencyPropertiesPage.java
+++ /dev/null
@@ -1,1099 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *	   David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *     Stefan Dimov, stefan.dimov@sap.com - bug 207826
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.jar.Manifest;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jem.workbench.utility.JemProjectUtilities;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider;
-import org.eclipse.jst.j2ee.application.internal.operations.ClassPathSelection;
-import org.eclipse.jst.j2ee.application.internal.operations.ClasspathElement;
-import org.eclipse.jst.j2ee.application.internal.operations.RemoveComponentFromEnterpriseApplicationDataModelProvider;
-import org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProperties;
-import org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProvider;
-import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
-import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
-import org.eclipse.jst.j2ee.classpathdep.UpdateClasspathAttributeUtil;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifestImpl;
-import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent;
-import org.eclipse.jst.j2ee.internal.common.ClasspathModel;
-import org.eclipse.jst.j2ee.internal.common.ClasspathModelEvent;
-import org.eclipse.jst.j2ee.internal.common.ClasspathModelListener;
-import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
-import org.eclipse.jst.j2ee.internal.listeners.IValidateEditListener;
-import org.eclipse.jst.j2ee.internal.listeners.ValidateEditListener;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.model.IEARModelProvider;
-import org.eclipse.jst.j2ee.model.ModelProviderManager;
-import org.eclipse.jst.javaee.application.Application;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.ModuleCoreNature;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.datamodel.properties.ICreateReferenceComponentsDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphManager;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.internal.operation.RemoveReferenceComponentsDataModelProvider;
-import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin;
-import org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation;
-
-/**
- * @author jialin
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class JARDependencyPropertiesPage implements IJ2EEDependenciesControl, IClasspathTableOwner, Listener, ClasspathModelListener, IElementChangedListener {
-
-	protected final IProject project;
-	protected final J2EEDependenciesPage propPage;
-	protected IOException caughtManifestException;
-	protected boolean isDirty;
-	protected Text classPathText;
-	protected Text componentNameText;
-	protected ClasspathModel model;
-	protected CCombo availableAppsCombo;
-	protected ClasspathTableManager tableManager;
-	protected IValidateEditListener validateEditListener;
-	protected Label manifestLabel;
-	protected Label enterpriseApplicationLabel;
-	protected Label availableDependentJars;
-	private final Display display;
-	private boolean isDisposed = false;
-	
-	/**
-	 * Constructor for JARDependencyPropertiesControl
-	 */
-	public JARDependencyPropertiesPage(final IProject project, final J2EEDependenciesPage page) {
-		super();
-		J2EEComponentClasspathUpdater.getInstance().pauseUpdates();
-		this.project = project;
-		this.propPage = page;
-		this.display = propPage.getShell().getDisplay();
-	}
-
-	/**
-	 * Returns false if page should not be displayed for the project.
-	 */
-	protected void initialize() {
-		model = createClasspathModel();
-		model.setProject(project);
-		if (model.getComponent() != null) {
-			model.addListener(this);
-			updateModelManifest();
-			initializeValidateEditListener();
-		}
-	}
-
-	protected ClasspathModel createClasspathModel(){
-		return new ClasspathModel(null, false);
-	}
-
-	public void dispose() {
-		isDisposed = true;
-		JavaCore.removeElementChangedListener(this);
-		J2EEComponentClasspathUpdater.getInstance().resumeUpdates();
-	}
-
-	private void updateModelManifest() {
-		if (JemProjectUtilities.isBinaryProject(project) || model.getAvailableEARComponents().length == 0)
-			return;
-		
-		IVirtualComponent component = ComponentCore.createComponent(project);
-		if(component != null){
-			IVirtualFile vManifest = component.getRootFolder().getFile(new Path(J2EEConstants.MANIFEST_URI));
-			if(vManifest.exists()){
-				IFile iManifest = vManifest.getUnderlyingFile();
-				if(iManifest != null && iManifest.exists()){
-					InputStream in = null;
-					try {
-						in = iManifest.getContents();
-						ArchiveManifest mf = new ArchiveManifestImpl(new Manifest(in));
-						model.primSetManifest(mf);
-					} catch (CoreException e) {
-						Logger.getLogger().logError(e);
-						model.primSetManifest(new ArchiveManifestImpl());
-					} catch (IOException iox) {
-						Logger.getLogger().logError(iox);
-						model.primSetManifest(new ArchiveManifestImpl());
-						caughtManifestException = iox;
-					} finally {
-						if (in != null) {
-							try {
-								in.close();
-							} catch (IOException weTried) {
-								// Ignore
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-
-	protected void initializeValidateEditListener() {
-		validateEditListener = new ValidateEditListener(null, model);
-		validateEditListener.setShell(propPage.getShell());
-	}
-
-	public void setVisible(boolean visible) {
-		if (visible) {
-			if (caughtManifestException != null && !model.isDirty()) {
-				ManifestErrorPrompter.showManifestException(propPage.getShell(), ERROR_READING_MANIFEST_DIALOG_MESSAGE_PROP_PAGE, false, caughtManifestException);
-			}
-		}
-	}
-
-	/**
-	 * Refreshes the ClasspathModel if the project classpath is changed.
-	 */
-	public void elementChanged(final ElementChangedEvent event) {
-		if (event.getType() == ElementChangedEvent.POST_CHANGE && classpathChanged(event.getDelta())) {
-			// trigger a recomputation and refresh for the currently selected EAR
-			if (!isDisposed) {
-				display.asyncExec (new Runnable () {
-					public void run () {
-						if (!isDisposed) {
-							handleClasspathChange();
-						}
-					}
-				});
-			}
-		}
-	}
-	
-	/**
-	 * Called to refresh the UI when the classpath changes
-	 */
-	protected void handleClasspathChange() {
-		model.resetClassPathSelection();
-		refresh();		
-	}
-	
-	private boolean classpathChanged(final IJavaElementDelta delta) {
-		final int kind = delta.getKind();
-		if (kind == IJavaElementDelta.CHANGED) {
-			final int flags = delta.getFlags();
-			final IJavaElement element = delta.getElement();
-			if (element instanceof IJavaModel) {
-				if ((flags & IJavaElementDelta.F_CHILDREN) == IJavaElementDelta.F_CHILDREN) {
-					final IJavaElementDelta[] children = delta.getChangedChildren();
-					for (int i = 0; i < children.length; i++) {
-						// check all of the IJavaProject children
-						if (classpathChanged(children[i])) {
-							return true;
-						}
-					}
-				}
-			} else if (element instanceof IJavaProject) {
-				// check if we either have a direct indication of a classpath change or a delta on the
-				// .classpath file (changes to classpath entry attributes only give us this...)
-				final IJavaProject jproject = (IJavaProject) element;
-				final IProject eventProject = jproject.getProject();
-				if (eventProject.equals(project)) {
-					if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
-						return true; 	
-					}
-					final IResourceDelta[] deltas = delta.getResourceDeltas();
-					if (deltas != null) {
-						for (int i = 0; i < deltas.length; i++) {
-							if (deltas[i].getProjectRelativePath().toString().equals(".classpath")) { //$NON-NLS-1$
-								return true;
-							}
-						}
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	public Composite createContents(Composite parent) {
-		initialize();
-		Composite composite = createBasicComposite(parent);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		if (model.getComponent() != null) {
-			if (!isValidComponent())
-				return composite;
-			J2EEDependenciesPage.createDescriptionComposite(composite, ManifestUIResourceHandler.J2EE_Modules_Desc);
-			createProjectLabelsGroup(composite);
-			createListGroup(composite);
-			createTextGroup(composite);
-			refresh();
-		}
-	    Dialog.applyDialogFont(parent);
-	    postCreateContents();
-		return composite;
-	}
-
-	/**
-	 * Called at the end of createContents().
-	 */
-	protected void postCreateContents() {
-		// register this object as an IElementChangedListener so that it will react to user changes to the Java build path
-		JavaCore.addElementChangedListener(this);	
-	}
-	
-	/**
-	 * @param comp
-	 * @return
-	 */
-	protected Composite createBasicComposite(Composite comp) {
-		Composite composite = new Composite(comp, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		return composite;
-	}
-
-	protected boolean isValidComponent() {
-		if (J2EEProjectUtilities.isEARProject(project)) {
-			propPage.setErrorMessage(ManifestUIResourceHandler.EAR_Module_Dep_Error);
-			return false;
-		} else if (J2EEProjectUtilities.isStandaloneProject(model.getComponent().getProject())) {
-			propPage.setErrorMessage(ClasspathModel.NO_EAR_MESSAGE);
-			return false;
-		}
-		return true;
-	}
-
-	protected void createProjectLabelsGroup(Composite parent) {
-
-		Composite labelsGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		labelsGroup.setLayout(layout);
-		labelsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		/*
-		 * Label label = new Label(labelsGroup, SWT.NONE);
-		 * label.setText(ManifestUIResourceHandler.Project_name__UI_);
-		 * 
-		 * componentNameText = new Text(labelsGroup, SWT.BORDER); GridData data = new
-		 * GridData(GridData.FILL_HORIZONTAL); componentNameText.setEditable(false);
-		 * componentNameText.setLayoutData(data); componentNameText.setText(project.getName());
-		 */
-
-		createEnterpriseAppsControls(labelsGroup);
-
-	}
-
-	private void createEnterpriseAppsControls(Composite labelsGroup) {
-
-		enterpriseApplicationLabel = new Label(labelsGroup, SWT.NONE);
-		enterpriseApplicationLabel.setText(ManifestUIResourceHandler.EAR_Project_Name__UI__UI_);
-
-		availableAppsCombo = new CCombo(labelsGroup, SWT.READ_ONLY | SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		availableAppsCombo.setLayoutData(gd);
-
-		availableAppsCombo.addListener(SWT.Selection, this);
-
-	}
-
-	protected void createListGroup(Composite parent) {
-		Composite listGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		listGroup.setLayout(layout);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		gData.horizontalIndent = 5;
-		listGroup.setLayoutData(gData);
-
-		availableDependentJars = new Label(listGroup, SWT.NONE);
-		gData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		availableDependentJars.setText(ManifestUIResourceHandler.Available_dependent_JARs__UI_);
-		availableDependentJars.setLayoutData(gData);
-		createTableComposite(listGroup);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.etools.j2ee.common.ui.classpath.IClasspathTableOwner#createGroup(org.eclipse.swt.widgets.Composite)
-	 */
-	public Group createGroup(Composite parent) {
-		return new Group(parent, SWT.NULL);
-	}
-
-	protected void createTextGroup(Composite parent) {
-
-		Composite textGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		textGroup.setLayout(layout);
-		textGroup.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL));
-
-		createClassPathText(textGroup);
-
-	}
-
-	protected void createClassPathText(Composite textGroup) {
-
-		manifestLabel = new Label(textGroup, SWT.NONE);
-		manifestLabel.setText(ManifestUIResourceHandler.Manifest_Class_Path__UI_);
-
-		classPathText = new Text(textGroup, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		gData.widthHint = 400;
-		gData.heightHint = 100;
-		classPathText.setLayoutData(gData);
-		classPathText.setEditable(false);
-	}
-
-	protected void createTableComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(gData);
-		tableManager = new ClasspathTableManager(this, model, validateEditListener);
-		tableManager.fillComposite(composite);
-	}
-
-	/**
-	 * @see IClasspathTableOwner#createAvailableJARsViewer(Composite)
-	 */
-	public CheckboxTableViewer createAvailableJARsViewer(Composite parent) {
-		int flags = SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI;
-
-		Table table = new Table(parent, flags);
-		CheckboxTableViewer availableJARsViewer = new CheckboxTableViewer(table);
-
-		// set up table layout
-		TableLayout tableLayout = new org.eclipse.jface.viewers.TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(200, true));
-		tableLayout.addColumnData(new ColumnWeightData(200, true));
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		
-		// do not create sorter otherwise order will go wrong
-		//availableJARsViewer.setSorter(new ViewerSorter());
-		
-		// table columns
-		TableColumn fileNameColumn = new TableColumn(table, SWT.NONE, 0);
-		fileNameColumn.setText(ManifestUIResourceHandler.JAR_Module_UI_);
-		fileNameColumn.setResizable(true);
-
-		TableColumn projectColumn = new TableColumn(table, SWT.NONE, 1);
-		projectColumn.setText(ManifestUIResourceHandler.Project_UI_);
-		projectColumn.setResizable(true);
-		tableLayout.layout(table, true);
-		return availableJARsViewer;
-
-	}
-
-	/**
-	 * @see IClasspathTableOwner#createButtonColumnComposite(Composite)
-	 */
-	public Composite createButtonColumnComposite(Composite parent) {
-		Composite buttonColumn = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonColumn.setLayout(layout);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonColumn.setLayoutData(data);
-		return buttonColumn;
-	}
-
-	/**
-	 * @see IClasspathTableOwner
-	 */
-	public Button primCreatePushButton(String label, Composite buttonColumn) {
-		Button aButton = new Button(buttonColumn, SWT.PUSH);
-		aButton.setText(label);
-		return aButton;
-	}
-
-	/**
-	 * @see IClasspathTableOwner
-	 */
-	public Button primCreateRadioButton(String label, Composite parent) {
-		Button aButton = new Button(parent, SWT.RADIO);
-		aButton.setText(label);
-		return aButton;
-	}
-
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == availableAppsCombo)
-			availableAppsSelected(event);
-	}
-
-	protected void availableAppsSelected(Event event) {
-		int index = availableAppsCombo.getSelectionIndex();
-		model.selectEAR(index);
-	}
-
-	protected void populateApps() {
-		IVirtualComponent[] components = model.getAvailableEARComponents();
-		String[] values = new String[components.length];
-		for (int i = 0; i < components.length; i++) {
-			values[i] = components[i].getProject().getName();
-		}
-		if (availableAppsCombo != null) {
-			availableAppsCombo.setItems(values);
-			IVirtualComponent selected = model.getSelectedEARComponent();
-			if (selected != null) {
-				int index = Arrays.asList(components).indexOf(selected);
-				availableAppsCombo.select(index);
-			} else
-				availableAppsCombo.clearSelection();
-		}
-	}
-
-	protected void refresh() {
-		populateApps();
-		if (tableManager != null) {
-			tableManager.refresh();
-		}
-		refreshText();
-	}
-
-
-	public void refreshText() {
-		ClassPathSelection sel = model.getClassPathSelection();
-		if (sel != null && classPathText != null)
-			classPathText.setText(sel == null ? "" : sel.toString()); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ClasspathModelListener#modelChanged(ClasspathModelEvent)
-	 */
-	public void modelChanged(ClasspathModelEvent evt) {
-		if (evt.getEventType() == ClasspathModelEvent.CLASS_PATH_CHANGED) {
-			isDirty = true;
-			refreshText();
-		} else if (evt.getEventType() == ClasspathModelEvent.EAR_PROJECT_CHANGED) {			
-			tableManager.refresh();
-		}
-	}
-
-	public void performDefaults() {
-		model.resetClassPathSelection();
-		refresh();
-		isDirty = false;
-		model.dispose();
-	}
-
-	public boolean performCancel() {
-		model.dispose();
-		return true;
-	}
-
-	/**
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		if (!isDirty)
-			return true;
-		modifyEARBundledLibs();		
-		WorkspaceModifyComposedOperation composed = new WorkspaceModifyComposedOperation(createManifestOperation());
-		createClasspathAttributeUpdateOperation(composed, model.getClassPathSelection(), false);
-		try {
-			new ProgressMonitorDialog(propPage.getShell()).run(true, true, composed);
-		} catch (InvocationTargetException ex) {
-			String title = ManifestUIResourceHandler.An_internal_error_occurred_ERROR_;
-			String msg = title;
-			if (ex.getTargetException() != null && ex.getTargetException().getMessage() != null)
-				msg = ex.getTargetException().getMessage();
-			MessageDialog.openError(propPage.getShell(), title, msg);
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(ex);
-			return false;
-		} catch (InterruptedException e) {
-			// cancelled
-			return false;
-		} finally {
-			model.dispose();
-		}
-		isDirty = false;
-		return true;
-	}
-
-	List getUnSelectedClassPathElementsForJ2EEDependency() {
-		List unselectedForJ2EE = getUnSelectedClassPathSelection().getClasspathElements();
-
-		List unselected = new ArrayList();
-		if (model != null && model.getClassPathSelectionForWLPs() != null) {
-			List wlpSelected = model.getClassPathSelectionForWLPs().getSelectedClasspathElements();
-
-			java.util.Iterator it = unselectedForJ2EE.iterator();
-
-			while (it.hasNext()) {
-				ClasspathElement element = (ClasspathElement) it.next();
-				java.util.Iterator wlpIterator = wlpSelected.iterator();
-				boolean found = false;
-				while (wlpIterator.hasNext()) {
-					ClasspathElement wlpElement = (ClasspathElement) wlpIterator.next();
-					String text = element.getText();
-					int index = text.indexOf(".jar");
-					if (index != -1) {
-						text = text.substring(0, index);
-						if (text.equals(wlpElement.getText())) {
-							found = true;
-							break;
-						}
-					}
-				}
-				if (!found) {
-					if (!unselected.contains(element))
-						unselected.add(element);
-				}
-
-			}
-		}
-		return unselected;
-	}
-
-
-	/**
-	 * @deprecated don't use this method it will be deleted
-	 * @return
-	 */
-	List getUnSelectedClassPathElementsForWebDependency() {
-		List unselectedForWLP = getUnSelectedClassPathSelectionForWLPs().getClasspathElements();
-		List unselected = new ArrayList();
-		if (model != null && model.getClassPathSelection() != null) {
-			List j2eeSelected = model.getClassPathSelection().getSelectedClasspathElements();
-			java.util.Iterator it = unselectedForWLP.iterator();
-
-			while (it.hasNext()) {
-				ClasspathElement element = (ClasspathElement) it.next();
-				java.util.Iterator j2eeIterator = j2eeSelected.iterator();
-				boolean found = false;
-				while (j2eeIterator.hasNext()) {
-					ClasspathElement j2eeElement = (ClasspathElement) j2eeIterator.next();
-					String text = j2eeElement.getText();
-					int index = text.indexOf(".jar");
-					if( index != -1 ){
-						text = text.substring(0, index);
-						if (element.getText().equals(text)) {
-							found = true;
-							break;
-						}
-					}
-				}
-				if (!found) {
-					if (!unselected.contains(element))
-						unselected.add(element);
-				}
-
-			}
-		} else {
-			unselected = unselectedForWLP;
-		}
-		return unselected;
-	}
-
-	/**
-	 * DoNotUseMeThisWillBeDeletedPost15
-	 * @return
-	 */
-	protected WorkspaceModifyComposedOperation createJ2EEComponentDependencyOperations() {
-		WorkspaceModifyComposedOperation composedOp = null;
-		List selected = getSelectedClassPathSelection().getClasspathElements();
-		List unselected = getUnSelectedClassPathElementsForJ2EEDependency();
-
-		List targetComponentsHandles = new ArrayList();
-		for (int i = 0; i < selected.size(); i++) {
-			ClasspathElement element = (ClasspathElement) selected.get(i);
-			IVirtualComponent component = element.getComponent();
-			if (null != component) {
-				targetComponentsHandles.add(component);
-			}
-		}
-		if (!targetComponentsHandles.isEmpty()) {
-			composedOp = new WorkspaceModifyComposedOperation();
-			composedOp.addRunnable(WTPUIPlugin.getRunnableWithProgress(ComponentUtilities.createReferenceComponentOperation(model.getComponent(), targetComponentsHandles)));
-		}
-		targetComponentsHandles = new ArrayList();
-		for (int i = 0; i < unselected.size(); i++) {
-			ClasspathElement element = (ClasspathElement) unselected.get(i);
-			IProject elementProject = element.getProject();
-			if (elementProject != null) {
-				if (ModuleCoreNature.isFlexibleProject(elementProject)) {
-					IVirtualComponent targetComp = ComponentCore.createComponent(elementProject);
-					targetComponentsHandles.add(targetComp);
-				}
-			} else {
-				URI archiveURI = element.getArchiveURI();
-				if (archiveURI != null && !archiveURI.equals("")) { //$NON-NLS-1$
-					String name = ""; //$NON-NLS-1$
-					try {
-						String type = ModuleURIUtil.getArchiveType(archiveURI);
-						String tmpname = ModuleURIUtil.getArchiveName(archiveURI);
-						name = type + IPath.SEPARATOR + tmpname;
-					} catch (UnresolveableURIException e) {
-						Logger.getLogger().logError(e.getMessage());
-					}
-					if (!name.equals("")) { //$NON-NLS-1$
-						IVirtualReference ref = model.getComponent().getReference(name);
-						if (ref != null) {
-							IVirtualComponent referenced = ref.getReferencedComponent();
-							targetComponentsHandles.add(referenced);
-						}
-					}
-				}
-			}
-		}
-		if (!targetComponentsHandles.isEmpty()) {
-			if (composedOp == null)
-				composedOp = new WorkspaceModifyComposedOperation();
-			composedOp.addRunnable(WTPUIPlugin.getRunnableWithProgress(ComponentUtilities.removeReferenceComponentOperation(model.getComponent(), targetComponentsHandles)));
-		}
-		return composedOp;
-	}
-
-
-	/**
-	 * This should be moved to the {@link WebLibDependencyPropertiesPage} because it is only used there.
-	 * @return
-	 */
-	protected WorkspaceModifyComposedOperation createComponentDependencyOperations() {
-		WorkspaceModifyComposedOperation composedOp = null;
-		final ClassPathSelection selectedWLPs = getSelectedClassPathSelectionForWLPs();
-		List selected = selectedWLPs.getClasspathElements();
-		List unselected = getUnSelectedClassPathSelectionForWLPs().getClasspathElements();
-
-		List targetComponentsHandles = new ArrayList();
-		for (int i = 0; i < selected.size(); i++) {
-			ClasspathElement element = (ClasspathElement) selected.get(i);
-			if (element.isClasspathDependency() || element.isClasspathEntry()) {
-				continue;
-			}
-			IProject elementProject = element.getProject();
-			if (elementProject != null) {
-				IVirtualComponent targetComp = ComponentCore.createComponent(elementProject);
-				targetComponentsHandles.add(targetComp);
-			}
-		}
-		if (!targetComponentsHandles.isEmpty()) {
-			composedOp = new WorkspaceModifyComposedOperation();
-			composedOp.addRunnable(WTPUIPlugin.getRunnableWithProgress(ComponentUtilities.createWLPReferenceComponentOperation(model.getComponent(), targetComponentsHandles)));
-		}
-		targetComponentsHandles = new ArrayList();
-		for (int i = 0; i < unselected.size(); i++) {
-			ClasspathElement element = (ClasspathElement) unselected.get(i);
-			if (element.isClasspathDependency() || element.isClasspathEntry()) {
-				continue;
-			}
-			IProject elementProject = element.getProject();
-			if (elementProject != null) {
-				if (ModuleCoreNature.isFlexibleProject(elementProject)) {
-					IVirtualComponent targetComp = ComponentCore.createComponent(elementProject);
-					targetComponentsHandles.add(targetComp);
-				}
-			} else {
-				URI archiveURI = element.getArchiveURI();
-				if (archiveURI != null && !archiveURI.equals("")) { //$NON-NLS-1$
-					String name = ""; //$NON-NLS-1$
-					try {
-						String type = ModuleURIUtil.getArchiveType(archiveURI);
-						String tmpname = ModuleURIUtil.getArchiveName(archiveURI);
-						name = type + IPath.SEPARATOR + tmpname;
-					} catch (UnresolveableURIException e) {
-						Logger.getLogger().logError(e.getMessage());
-					}
-					if (!name.equals("")) { //$NON-NLS-1$
-						IVirtualReference ref = model.getComponent().getReference(name);
-						IVirtualComponent referenced = ref.getReferencedComponent();
-						targetComponentsHandles.add(referenced);
-					}
-				}
-			}
-		}
-		if (!targetComponentsHandles.isEmpty()) {
-			if (composedOp == null) {
-				composedOp = new WorkspaceModifyComposedOperation();
-			}
-			composedOp.addRunnable(WTPUIPlugin.getRunnableWithProgress(ComponentUtilities.removeWLPReferenceComponentOperation(model.getComponent(), targetComponentsHandles)));
-		}
-
-		if (composedOp == null) {
-			composedOp = new WorkspaceModifyComposedOperation();
-		}
-		createClasspathAttributeUpdateOperation(composedOp, model.getClassPathSelectionForWLPs(), true);
-		
-		return composedOp;
-	}
-
-	protected WorkspaceModifyComposedOperation createFlexProjectOperations() {
-		WorkspaceModifyComposedOperation composedOp = null;
-		Object[] elements = tableManager.availableJARsViewer.getCheckedElements();
-		for (int i = 0; i < elements.length; i++) {
-			ClasspathElement element = (ClasspathElement) elements[i];
-			IProject elementProject = element.getProject();
-			try {
-				if (elementProject != null && !elementProject.hasNature(IModuleConstants.MODULE_NATURE_ID)) {
-					if (composedOp == null) {
-						composedOp = new WorkspaceModifyComposedOperation();
-					}
-					composedOp.addRunnable(WTPUIPlugin.getRunnableWithProgress(J2EEProjectUtilities.createFlexJavaProjectForProjectOperation(elementProject, false)));
-				}
-			} catch (CoreException e) {
-				Logger.getLogger().logError(e);
-			}
-		}
-		return composedOp;
-	}
-
-	protected ClassPathSelection getUnSelectedClassPathSelectionForWLPs() {
-		ClassPathSelection selection = new ClassPathSelection();
-		Object[] checkedElements = tableManager.availableJARsViewer.getCheckedElements();
-		List modelElements = model.getClassPathSelectionForWLPs().getClasspathElements();
-		for (int i = 0; i < modelElements.size(); i++) {
-			List checkedElementsList = Arrays.asList(checkedElements);
-			if (!checkedElementsList.contains(modelElements.get(i))) {
-				selection.getClasspathElements().add(modelElements.get(i));
-			}
-		}
-		return selection;
-	}
-
-	private ClassPathSelection getSelectedClassPathSelection() {
-		ClassPathSelection selection = new ClassPathSelection();
-		Object[] checkedElements = tableManager.availableJARsViewer.getCheckedElements();
-		for (int i = 0; i < checkedElements.length; i++) {
-			selection.getClasspathElements().add(checkedElements[i]);
-		}
-		return selection;
-	}
-
-	protected ClassPathSelection getUnSelectedClassPathSelection() {
-		ClassPathSelection selection = new ClassPathSelection();
-		Object[] checkedElements = tableManager.availableJARsViewer.getCheckedElements();
-		List modelElements = model.getClassPathSelection().getClasspathElements();
-		for (int i = 0; i < modelElements.size(); i++) {
-			List checkedElementsList = Arrays.asList(checkedElements);
-			if (!checkedElementsList.contains(modelElements.get(i))) {
-				selection.getClasspathElements().add(modelElements.get(i));
-			}
-		}
-		return selection;
-	}
-
-
-	private ClassPathSelection getSelectedClassPathSelectionForWLPs() {
-		ClassPathSelection selection = new ClassPathSelection();
-		Object[] checkedElements = tableManager.availableJARsViewer.getCheckedElements();
-		for (int i = 0; i < checkedElements.length; i++) {
-			selection.getClasspathElements().add(checkedElements[i]);
-		}
-		return selection;
-	}
-
-	protected UpdateManifestOperation createManifestOperation() {
-		return new UpdateManifestOperation(project.getName(), model.getClassPathSelection().toString(), true);
-	}
-	
-	protected void createClasspathAttributeUpdateOperation(final WorkspaceModifyComposedOperation composedOp, final ClassPathSelection selection, final boolean isWebApp) {
-		final Map selectedEntriesToRuntimePath = new HashMap();
-		final Map unselectedEntriesToRuntimePath = new HashMap();
-		final List elements = selection.getClasspathElements();
-		for (int i = 0; i < elements.size(); i++) {
-			final ClasspathElement element = (ClasspathElement) elements.get(i);
-			if (element.isClasspathEntry()) {
-				final IClasspathEntry entry = element.getClasspathEntry();
-				final IClasspathAttribute attrib = ClasspathDependencyUtil.checkForComponentDependencyAttribute(entry);
-				boolean hasDepAttrib = false;
-				if (attrib != null && attrib.getName().equals(IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY)) {
-					hasDepAttrib = true;
-				}
-				final IPath runtimePath = ClasspathDependencyUtil.getRuntimePath(attrib, isWebApp, ClasspathDependencyUtil.isClassFolderEntry(entry));
-				if (element.isSelected()) {
-					// only add if we don't already have the attribute
-					if (!hasDepAttrib) {
-						selectedEntriesToRuntimePath.put(entry, runtimePath);
-					}
-				} else {
-					// only add if we already have the attribute
-					if (hasDepAttrib) {
-						unselectedEntriesToRuntimePath.put(entry, runtimePath);
-					}
-				}
-			}
-		}
-		
-		// if there are any attributes to add, create an operation to add all necessary attributes 
-		if (!selectedEntriesToRuntimePath.isEmpty()) {
-			IDataModelOperation op = UpdateClasspathAttributeUtil.createAddDependencyAttributesOperation(project.getName(), selectedEntriesToRuntimePath); 
-			composedOp.addRunnable(WTPUIPlugin.getRunnableWithProgress(op));
-		}
-		// if there are any attributes to remove, create an operation to remove all necessary attributes
-		if (!unselectedEntriesToRuntimePath.isEmpty()) {
-			IDataModelOperation op = UpdateClasspathAttributeUtil.createRemoveDependencyAttributesOperation(project.getName(), unselectedEntriesToRuntimePath); 
-			composedOp.addRunnable(WTPUIPlugin.getRunnableWithProgress(op));
-		}
-	}
-
-	protected boolean isReadOnly() {
-		return JemProjectUtilities.isBinaryProject(project) && (project.findMember(IModuleConstants.COMPONENT_FILE_PATH) == null) ;
-	}
-	
-	protected void modifyEARBundledLibs() {
-		List compsToUncheckList = tableManager.getCheckedLibsAsList();
-		if (compsToUncheckList.size() == 0) return;
-		Set allCompsToUncheck = new HashSet();
-		Set allCompNamesToUncheck = new HashSet();		
-		for (int i = 0; i < compsToUncheckList.size(); i++) {
-			IVirtualComponent comp = (IVirtualComponent)compsToUncheckList.get(i);
-			allCompsToUncheck.add(comp);
-			if (comp instanceof J2EEModuleVirtualArchiveComponent) allCompNamesToUncheck.add(comp.getName());
-		}
- 		IProject[] ears = J2EEProjectUtilities.getReferencingEARProjects(project);
-		for (int i = 0; i < ears.length; i++) {
-			IEARModelProvider earModel = (IEARModelProvider)ModelProviderManager.getModelProvider(ears[i]);
-			if (J2EEProjectUtilities.isJEEProject(ears[i])) {	
-				IVirtualComponent earComponent = ComponentCore.createComponent(ears[i]);
-				List listToUncheck = createListToUncheck(earComponent, allCompsToUncheck, allCompNamesToUncheck);
-				if (listToUncheck.size() == 0) continue;
-				removeModulesFromEAR(new NullProgressMonitor(), earComponent, listToUncheck);
-				addModulesToEAR(new NullProgressMonitor(), earComponent, listToUncheck);
-			}
-		}			
-	}
-	//---------------------------------
-	private IStatus removeModulesFromEAR(IProgressMonitor monitor, final IVirtualComponent earComponent, final List compsToUncheckList) {
-		IStatus stat = IDataModelProvider.OK_STATUS;
-		String libDir = ((Application)ModelProviderManager.getModelProvider(earComponent.getProject()).getModelObject()).getLibraryDirectory();
-		libDir = (libDir == null) ? J2EEConstants.EAR_DEFAULT_LIB_DIR : libDir;
-		Map dependentComps = getEARModuleDependencies(earComponent, compsToUncheckList);
-		try {
-			IDataModelOperation op = removeComponentFromEAROperation(earComponent, compsToUncheckList, libDir);
-			op.execute(null, null);
-			J2EEComponentClasspathUpdater.getInstance().queueUpdateEAR(earComponent.getProject());
-			removeEARComponentDependencies(dependentComps);
-		} catch (ExecutionException e) {
-			Logger.getLogger().log(e);
-		}
-		return stat;
-	}		
-	
-	
-	private IStatus addModulesToEAR(IProgressMonitor monitor, final IVirtualComponent earComponent, final List compsToUncheckList) {
-		IStatus stat = IDataModelProvider.OK_STATUS;
-		try {
-			IWorkspaceRunnable runnable = new IWorkspaceRunnable(){
-				public void run(IProgressMonitor monitor) throws CoreException{
-					execAddOp(monitor, compsToUncheckList, J2EEConstants.EAR_ROOT_DIR, earComponent);
-				}
-			};
-			J2EEUIPlugin.getWorkspace().run(runnable, monitor);
-		} catch (Exception e) {
-			Logger.getLogger().log(e);
-		}
-		return IDataModelProvider.OK_STATUS;
-	}
-
-	private List createListToUncheck(IVirtualComponent earComponent, Set compsToUncheckList, Set compNamesToUncheck) {	
-		LinkedList res = new LinkedList();
-		IVirtualReference[] refs = earComponent.getReferences();
-		for (int j = 0; j < refs.length; j++) {
-			if (!refs[j].getRuntimePath().isRoot() &&
-					(compsToUncheckList.contains(refs[j].getReferencedComponent()) ||
-					compNamesToUncheck.contains(refs[j].getReferencedComponent().getName()))) {
-				res.add(refs[j].getReferencedComponent());
-			}		
-		}
-		return res;
-	}	
-		
-	private void execAddOp(IProgressMonitor monitor, List list, String path, IVirtualComponent earComponent) throws CoreException {
-		IDataModel dm = DataModelFactory.createDataModel(new AddComponentToEnterpriseApplicationDataModelProvider());
-		
-		dm.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, earComponent);					
-		dm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, list);
-		dm.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH, path);
-
-		IStatus stat = dm.validateProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		if (stat != IDataModelProvider.OK_STATUS)
-			throw new CoreException(stat);
-		try {
-			dm.getDefaultOperation().execute(monitor, null);
-		} catch (ExecutionException e) {
-			Logger.getLogger().log(e);
-		}		
-	}
-		
-	
-	protected IDataModelOperation removeComponentFromEAROperation(IVirtualComponent sourceComponent, List targetComponentsHandles, String dir) {
-		IDataModel model = DataModelFactory.createDataModel(new RemoveComponentFromEnterpriseApplicationDataModelProvider());
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, sourceComponent);
-		List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-		modHandlesList.addAll(targetComponentsHandles);
-		model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-        model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH, dir);		
-		return model.getDefaultOperation();
-	}
-	
-	private Map getEARModuleDependencies(final IVirtualComponent earComponent, final List components) {
-		final Map dependentComps = new HashMap();
-		// get all current references to project within the scope of this EAR
-		for (int i = 0; i < components.size(); i++) {
-			
-			final List compsForProject = new ArrayList();
-			final IVirtualComponent comp = (IVirtualComponent) components.get(i);
-			final IProject[] dependentProjects = DependencyGraphManager.getInstance().getDependencyGraph().getReferencingComponents(comp.getProject());
-			for (int j = 0; j < dependentProjects.length; j++) {
-				final IProject project = dependentProjects[j];
-				// if this is an EAR, can skip
-				if (J2EEProjectUtilities.isEARProject(project)) {
-					continue;
-				}
-				final IVirtualComponent dependentComp = ComponentCore.createComponent(project);
-				// ensure that the project's share an EAR
-				final IProject[] refEARs = J2EEProjectUtilities.getReferencingEARProjects(project);
-				boolean sameEAR = false;
-				for (int k = 0; k < refEARs.length; k++) {
-					if (refEARs[k].equals(earComponent.getProject())) {
-						sameEAR = true;
-						break;
-					}
-				}
-				if (!sameEAR) {
-					continue;
-				}
-				// if the dependency is a web lib dependency, can skip
-				if (J2EEProjectUtilities.isDynamicWebProject(project)) {
-					IVirtualReference ref = dependentComp.getReference(comp.getName());
-					if (ref != null && ref.getRuntimePath().equals(new Path("/WEB-INF/lib"))) { //$NON-NLS-1$
-						continue;
-					}
-				}
-				compsForProject.add(dependentComp);
-			}
-			dependentComps.put(comp, compsForProject);
-		}
-		return dependentComps;
-	}
-	
-	private void removeEARComponentDependencies(final Map dependentComps) throws ExecutionException {
-		final Iterator targets = dependentComps.keySet().iterator();
-		while (targets.hasNext()) {
-			final IVirtualComponent target = (IVirtualComponent) targets.next();
-			final List sources = (List) dependentComps.get(target);
-			for (int i = 0; i < sources.size(); i++) {
-				final IVirtualComponent source = (IVirtualComponent) sources.get(i);
-				final IDataModel model = DataModelFactory.createDataModel(new RemoveReferenceComponentsDataModelProvider());
-				model.setProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT, source);
-				final List modHandlesList = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
-				modHandlesList.add(target);
-				model.setProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST, modHandlesList);
-				model.getDefaultOperation().execute(null, null);
-				// update the manifest
-				removeManifestDependency(source, target);
-			}
-		}
-	}
-
-	private void removeManifestDependency(final IVirtualComponent source, final IVirtualComponent target) 
-		throws ExecutionException {
-		final String sourceProjName = source.getProject().getName();
-		final String targetProjName = target.getProject().getName();
-		final IProgressMonitor monitor = new NullProgressMonitor();
-		final IFile manifestmf = J2EEProjectUtilities.getManifestFile(source.getProject());
-		final ArchiveManifest mf = J2EEProjectUtilities.readManifest(source.getProject());
-		if (mf == null)
-			return;
-		final IDataModel updateManifestDataModel = DataModelFactory.createDataModel(new UpdateManifestDataModelProvider());
-		updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.PROJECT_NAME, sourceProjName);
-		updateManifestDataModel.setBooleanProperty(UpdateManifestDataModelProperties.MERGE, false);
-		updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.MANIFEST_FILE, manifestmf);
-		String[] cp = mf.getClassPathTokenized();
-		List cpList = new ArrayList();
-		String cpToRemove = targetProjName + ".jar";//$NON-NLS-1$
-		for (int i = 0; i < cp.length; i++) {
-			if (!cp[i].equals(cpToRemove)) {
-				cpList.add(cp[i]);
-			}
-		}
-		updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.JAR_LIST, cpList);
-		updateManifestDataModel.getDefaultOperation().execute(monitor, null );
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestErrorPrompter.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestErrorPrompter.java
deleted file mode 100644
index e70c7e7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestErrorPrompter.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 17, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.jst.j2ee.internal.plugin.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * @author jialin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class ManifestErrorPrompter implements ICommonManifestUIConstants {
-
-	/**
-	 * Constructor for ManifestErrorPrompter.
-	 */
-	private ManifestErrorPrompter() {
-		super();
-	}
-	
-	public static boolean showManifestException(Shell shell, String baseMessage, boolean includeCancel, Throwable caught) {
-		StringBuffer msg = new StringBuffer(baseMessage);
-		msg.append("\n"); //$NON-NLS-1$
-		msg.append(MANIFEST_PROBLEM_1);
-		msg.append("\n"); //$NON-NLS-1$
-		msg.append(MANIFEST_PROBLEM_2);
-		msg.append("\n"); //$NON-NLS-1$
-		msg.append(MANIFEST_PROBLEM_3);
-		msg.append("\n"); //$NON-NLS-1$
-		msg.append(MANIFEST_PROBLEM_4);
-		return ErrorDialog.openError(shell,
-		   ERROR_READING_MANIFEST_DIALOG_TITLE,
-		   msg.toString(),
-		   caught,
-		   0, includeCancel);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestUIResourceHandler.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestUIResourceHandler.java
deleted file mode 100644
index 50c1f23..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ManifestUIResourceHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Stefan Dimov, stefan.dimov@sap.com - bug 207826
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class ManifestUIResourceHandler extends NLS {
-
-	private static final String BUNDLE_NAME = "manifest_ui";//$NON-NLS-1$
-
-	private ManifestUIResourceHandler() {
-		// Do not instantiate
-	}
-
-	public static String Up_1;
-	public static String Down_2;
-	public static String Select_All_3;
-	public static String Deselect_All_4;
-	public static String ERROR_READING_MANIFEST_DIALOG_TITLE;
-	public static String SAVE_MANIFEST_WITH_ERROR;
-	public static String ERROR_READING_MANIFEST_DIALOG_MESSAGE_EDITOR;
-	public static String ERROR_READING_MANIFEST_DIALOG_MESSAGE_PROP_PAGE;
-	public static String MANIFEST_PROBLEM_1;
-	public static String MANIFEST_PROBLEM_2;
-	public static String MANIFEST_PROBLEM_3;
-	public static String MANIFEST_PROBLEM_4;
-	public static String An_internal_error_occurred_ERROR_;
-	public static String Project_name__UI_;
-	public static String EAR_Project_Name__UI__UI_;
-	public static String Available_dependent_JARs__UI_;
-	public static String Manifest_Class_Path__UI_;
-	public static String JAR_Module_UI_;
-	public static String Packed_In_Lib_UI_;
-	public static String Project_UI_;
-	public static String EAR_Modules;
-	public static String EAR_Modules_Desc;
-	public static String J2EE_Modules;
-	public static String J2EE_Modules_Desc;
-	public static String Web_Libraries;
-	public static String Web_Libraries_Desc;
-	public static String Web_Ref_Desc;
-	public static String EAR_Module_Dep_Error;
-	public static String Unreferenced_Module_Error;
-	public static String Jar_Dep_One_Module_Error;
-	public static String Web_Lib_Error;
-	public static String REDIRECT_TEXT_EDITOR_UI_;
-	public static String Error_Checking_Project_Facets;
-	public static String WEB_LIB_LIST_DESCRIPTION;
-	public static String Dynamic_Web_Error;
-	public static String No_Web_Reference_Error;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, ManifestUIResourceHandler.class);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/SecondCheckBoxStateChangedEvent.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/SecondCheckBoxStateChangedEvent.java
deleted file mode 100644
index df0df7e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/SecondCheckBoxStateChangedEvent.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov, stefan.dimov@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.ICheckable;
-import org.eclipse.jst.j2ee.internal.ui.DoubleCheckboxTableItem;
-
-public class SecondCheckBoxStateChangedEvent extends CheckStateChangedEvent {
-	
-	private DoubleCheckboxTableItem item = null;
-	
-	public SecondCheckBoxStateChangedEvent(ICheckable source, 
-											Object element, 
-											boolean state) {
-		super(source, element, state);
-	}	
-	
-	public void setTableItem(DoubleCheckboxTableItem itm) { 
-		item = itm;
-	}
-	
-	public DoubleCheckboxTableItem getTableItem() {
-		return item;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/UpdateManifestOperation.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/UpdateManifestOperation.java
deleted file mode 100644
index cdf1c19..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/UpdateManifestOperation.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 17, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifestImpl;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.wst.common.frameworks.internal.enablement.nonui.WFTWrappedException;
-
-/**
- * @author jialin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class UpdateManifestOperation implements org.eclipse.jface.operation.IRunnableWithProgress {
-	protected String projectName;
-	protected String classPathValue;
-	protected boolean replace;
-/**
- * UpdateManifestOperation constructor comment.
- */
-public UpdateManifestOperation(String aProjectName, String aSpaceDelimitedPath, boolean replaceInsteadOfMerge) {
-	super();
-	projectName = aProjectName;
-	classPathValue = aSpaceDelimitedPath;
-	replace = replaceInsteadOfMerge;
-}
-protected IProject getProject() {
-	return J2EEPlugin.getWorkspace().getRoot().getProject(projectName);
-}
-/**
- * Runs this operation.  Progress should be reported to the given progress monitor.
- * This method is usually invoked by an <code>IRunnableContext</code>'s <code>run</code> method,
- * which supplies the progress monitor.
- * A request to cancel the operation should be honored and acknowledged 
- * by throwing <code>InterruptedException</code>.
- *
- * @param monitor the progress monitor to use to display progress and receive
- *   requests for cancelation
- * @exception InvocationTargetException if the run method must propagate a checked exception,
- * 	it should wrap it inside an <code>InvocationTargetException</code>; runtime exceptions are automatically
- *  wrapped in an <code>InvocationTargetException</code> by the calling context
- * @exception InterruptedException if the operation detects a request to cancel, 
- *  using <code>IProgressMonitor.isCanceled()</code>, it should exit by throwing 
- *  <code>InterruptedException</code>
- *
- * @see IRunnableContext#run
- */
-public void run(org.eclipse.core.runtime.IProgressMonitor monitor) throws java.lang.reflect.InvocationTargetException, InterruptedException {
-	IProject p = getProject();
-	try {
-		ArchiveManifest mf = J2EEProjectUtilities.readManifest(p);
-		if (mf == null)
-			mf = new ArchiveManifestImpl();
-		mf.addVersionIfNecessary();
-		if (replace)
-			mf.setClassPath(classPathValue);
-		else
-			mf.mergeClassPath(ArchiveUtil.getTokens(classPathValue));
-		J2EEProjectUtilities.writeManifest(p, mf);
-	} catch (java.io.IOException ex) {
-		throw new WFTWrappedException(ex);
-	}
-}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java
deleted file mode 100644
index d5045bc..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *	   David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.wizards.BuildPathDialogAccess;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jst.j2ee.application.internal.operations.ClasspathElement;
-import org.eclipse.jst.j2ee.internal.common.ClasspathModel;
-import org.eclipse.jst.j2ee.internal.common.ClasspathModelListener;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-import org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation;
-
-public class WebLibDependencyPropertiesPage extends JARDependencyPropertiesPage implements IClasspathTableOwner, Listener, ClasspathModelListener {
-
-	public WebLibDependencyPropertiesPage(final IProject project, final J2EEDependenciesPage page) {
-		super(project, page);
-	}
-
-	protected ClasspathModel createClasspathModel() {
-		return new ClasspathModel(null, true);
-	}
-	
-	public Composite createContents(Composite parent) {
-		initialize();
-		Composite composite = createBasicComposite(parent);
-		if (model.getComponent() != null) {
-			if (!isValidWebModule())
-				return composite;
-			J2EEDependenciesPage.createDescriptionComposite(composite, ManifestUIResourceHandler.Web_Libraries_Desc);
-			// createProjectLabelsGroup(composite);
-			createListGroup(composite);
-			handleWLPSupport();
-			setEnablement();
-		}
-	    Dialog.applyDialogFont(parent);
-	    postCreateContents();
-		return composite;
-	}
-
-	protected void createProjectLabelsGroup(Composite parent) {
-
-		Composite labelsGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		labelsGroup.setLayout(layout);
-		labelsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(labelsGroup, SWT.NONE);
-		label.setText(ManifestUIResourceHandler.Project_name__UI_);
-
-		componentNameText = new Text(labelsGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		componentNameText.setEditable(false);
-		componentNameText.setLayoutData(data);
-		componentNameText.setText(project.getName());
-	}
-
-	protected void createListGroup(Composite parent) {
-		Composite listGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		listGroup.setLayout(layout);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		gData.horizontalIndent = 5;
-		listGroup.setLayoutData(gData);
-
-		availableDependentJars = new Label(listGroup, SWT.NONE);
-		gData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		availableDependentJars.setText(ManifestUIResourceHandler.Available_dependent_JARs__UI_);
-		availableDependentJars.setLayoutData(gData);
-		createTableComposite(listGroup);
-	}
-
-	protected void createTableComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(gData);
-		tableManager = new ClasspathTableManager(this, model, validateEditListener);
-		tableManager.fillWLPComposite(composite);
-	}
-
-	protected boolean isValidWebModule() {
-		if (!J2EEProjectUtilities.isDynamicWebProject(project)) {
-			propPage.setErrorMessage(ManifestUIResourceHandler.Web_Lib_Error);
-			return false;
-		}
-		return true;
-	}
-
-	protected void setEnablement() {
-		if (tableManager.availableJARsViewer.getTable().getItems().length == 0) {
-			tableManager.selectAllButton.setEnabled(false);
-			tableManager.deselectAllButton.setEnabled(false);
-		} else {
-			tableManager.selectAllButton.setEnabled(true);
-			tableManager.deselectAllButton.setEnabled(true);
-		}
-	}
-
-	private void handleWLPSupport() {
-		availableDependentJars.setText(ManifestUIResourceHandler.WEB_LIB_LIST_DESCRIPTION);
-		tableManager.refresh();
-	}
-	
-	@Override
-	protected void handleClasspathChange() {
-		model.resetClassPathSelectionForWLPs();
-		super.handleClasspathChange();
-		setEnablement();
-	}
-
-	public boolean performOk() {
-		if (model.getComponent() == null || !isValidWebModule()) {
-			return true;
-		}
-		if (!isDirty) {
-			return true;
-		}
-		try {
-			boolean createdFlexProjects = runWLPOp(createFlexProjectOperations());
-			boolean createdComponentDependency = false;
-			if (createdFlexProjects) {
-				createdComponentDependency = runWLPOp(createComponentDependencyOperations());
-				isDirty = false;
-			}
-			// treat as a classpath change for refresh purposes
-			// XXX this refresh is not working - suspect it is because the virtual component dependencies are
-			// not consistently being recomputed
-			//handleClasspathChange();
-			return createdComponentDependency;
-		} finally {
-			model.dispose();
-		}
-	}
-
-	private boolean runWLPOp(WorkspaceModifyComposedOperation composed) {
-		try {
-			if (composed != null)
-				new ProgressMonitorDialog(propPage.getShell()).run(true, true, composed);
-		} catch (InvocationTargetException ex) {
-			ex.printStackTrace();
-			if (ex.getCause() != null) {
-				ex.getCause().printStackTrace();
-			}
-			String title = ManifestUIResourceHandler.An_internal_error_occurred_ERROR_;
-			String msg = title;
-			if (ex.getTargetException() != null && ex.getTargetException().getMessage() != null)
-				msg = ex.getTargetException().getMessage();
-			MessageDialog.openError(propPage.getShell(), title, msg);
-			org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(ex);
-			return false;
-		} catch (InterruptedException e) {
-			// cancelled
-			return false;
-		}
-		return true;
-	}
-
-	private void createRef(String aComponentName){
-		IVirtualComponent archive = ComponentCore.createArchiveComponent(model.getComponent().getProject(), aComponentName);
-
-		// To do: check if archive component already exists
-		IVirtualReference ref = ComponentCore.createReference(model.getComponent(), archive, new Path("/WEB-INF/lib")); //$NON-NLS-1$
-		model.getComponent().addReferences(new IVirtualReference [] { ref });
-
-		ClasspathElement element = createClassPathElement(archive, archive.getName());
-//		ClassPathSelection selection = createClassPathSelectionForExternalJar(element);
-		model.getClassPathSelectionForWLPs().getClasspathElements().add(element);
-	}
-	
-	public void handleSelectExternalJarButton() {
-		if (J2EEProjectUtilities.isDynamicWebProject(project)) {
-			IPath[] selected = BuildPathDialogAccess.chooseExternalJAREntries(propPage.getShell());
-			if (selected != null) {
-				String type = VirtualArchiveComponent.LIBARCHIVETYPE + IPath.SEPARATOR;
-				for (int i = 0; i < selected.length; i++) {
-					createRef(type + selected[i].toString());
-				}
-				refresh();
-			}
-		}
-	}
-
-	public void handleSelectVariableButton() {
-		if (J2EEProjectUtilities.isDynamicWebProject(project)) {
-			IPath existingPath[] = new Path[0];
-			IPath[] selected = BuildPathDialogAccess.chooseVariableEntries(propPage.getShell(), existingPath);
-
-			if (selected != null) {
-				String type = VirtualArchiveComponent.VARARCHIVETYPE + IPath.SEPARATOR;
-				for (int i = 0; i < selected.length; i++) {
-					IPath resolvedPath = JavaCore.getResolvedVariablePath(selected[i]);
-					java.io.File file = new java.io.File(resolvedPath.toOSString());
-					if (file.isFile() && file.exists()) {
-						createRef(type + selected[i].toString());
-					} else {
-						// display error
-					}
-				}
-				refresh();
-			}
-		}
-	}
-
-	private ClasspathElement createClassPathElement(IVirtualComponent archiveComp, String unresolvedName) {
-
-		URI uri = URI.createURI(ModuleURIUtil.getHandleString(archiveComp));
-		ClasspathElement element = new ClasspathElement(uri);
-		element.setValid(false);
-		element.setSelected(true);
-		element.setRelativeText(unresolvedName);
-		element.setText(unresolvedName);
-		element.setEarProject(null);
-		return element;
-	}
-
-//	private ClassPathSelection createClassPathSelectionForExternalJar(ClasspathElement element) {
-//		ClassPathSelection selection = new ClassPathSelection();
-//		selection.getClasspathElements().add(element);
-//		return selection;
-//	}
-
-//	private ClassPathSelection createClassPathSelectionForProjectJar(ClasspathElement element) {
-//		ClassPathSelection selection = new ClassPathSelection();
-//		selection.getClasspathElements().add(element);
-//		return selection;
-//	}
-
-	public void handleSelectProjectJarButton() {
-		if (J2EEProjectUtilities.isDynamicWebProject(project)) {
-			IPath[] selected = BuildPathDialogAccess.chooseJAREntries(propPage.getShell(), project.getLocation(), new IPath[0]);
-			if (selected != null) {
-				String type = VirtualArchiveComponent.LIBARCHIVETYPE + IPath.SEPARATOR;
-				for (int i = 0; i < selected.length; i++) {
-					createRef(type + selected[i].makeRelative().toString());
-				}
-				refresh();
-			}
-		}
-
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebRefDependencyPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebRefDependencyPropertiesPage.java
deleted file mode 100644
index 3827e1a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebRefDependencyPropertiesPage.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     rfrost@bea.com - derived from WebLibDependencyPropertiesPage for projects referenced just from a dynamic web project.
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Supports UI manipulation of the published/exported classpath entries for projects referenced by dynamic web projects.
- */
-public class WebRefDependencyPropertiesPage extends JARDependencyPropertiesPage {
-
-	public WebRefDependencyPropertiesPage(final IProject project, final J2EEDependenciesPage page) {
-		super(project, page);
-	}
-
-	@Override
-	public Composite createContents(Composite parent) {
-		initialize();
-		Composite composite = createBasicComposite(parent);
-		if (model.getComponent() != null) {
-			if (!isValidComponent()) {
-				return composite;
-			}
-			J2EEDependenciesPage.createDescriptionComposite(composite, ManifestUIResourceHandler.Web_Ref_Desc);
-			createListGroup(composite);
-			tableManager.refresh();
-			setEnablement();
-		}
-	    Dialog.applyDialogFont(parent);
-	    postCreateContents();
-		return composite;
-	}
-
-	@Override
-	protected void createTableComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(gData);
-		tableManager = new ClasspathTableManager(this, model, validateEditListener);
-		tableManager.setReadOnly(isReadOnly());
-		tableManager.fillWebRefComposite(composite);
-	}
-
-	@Override
-	protected boolean isValidComponent() {
-		// must have the Java nature and cannot be a dynamic web project
-		boolean isJavaProject = false;
-		try {
-			isJavaProject = project.hasNature(JavaCore.NATURE_ID);
-		} catch (CoreException ce) {}
-		if (J2EEProjectUtilities.isDynamicWebProject(project) || !isJavaProject) {
-			propPage.setErrorMessage(ManifestUIResourceHandler.Dynamic_Web_Error); 
-			return false;
-		} else if (J2EEProjectUtilities.getReferencingWebProjects(project).length == 0) {
-			propPage.setErrorMessage(ManifestUIResourceHandler.No_Web_Reference_Error);
-			return false;
-		}
-		return true;
-	}
-	
-	protected void setEnablement() {
-		if (tableManager.availableJARsViewer.getTable().getItems().length == 0) {
-			tableManager.selectAllButton.setEnabled(false);
-			tableManager.deselectAllButton.setEnabled(false);
-		} else {
-			tableManager.selectAllButton.setEnabled(true);
-			tableManager.deselectAllButton.setEnabled(true);
-		}
-	}
-	
-	@Override
-	protected void handleClasspathChange() {
-		super.handleClasspathChange();
-		setEnablement();
-	}
-
-	@Override
-	public boolean performOk() {
-		if (model.getComponent() == null || !isValidComponent()) {
-			return true;
-		}
-		if (!isDirty) {
-			return true;
-		}
-		return super.performOk();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WorkspaceModifyComposedOperation.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WorkspaceModifyComposedOperation.java
deleted file mode 100644
index 0b51edc..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WorkspaceModifyComposedOperation.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 17, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-/**
- * WARNING: This class will be deleted
- * 
- * @deprecated use {@link org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation}
- */
-public class WorkspaceModifyComposedOperation extends org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation {
-	public WorkspaceModifyComposedOperation(ISchedulingRule rule) {
-		super(rule);
-	}
-
-	public WorkspaceModifyComposedOperation() {
-		super();
-	}
-
-	public WorkspaceModifyComposedOperation(ISchedulingRule rule, List nestedRunnablesWithProgress) {
-		super(rule, nestedRunnablesWithProgress);
-	}
-
-	public WorkspaceModifyComposedOperation(List nestedRunnablesWithProgress) {
-		super(nestedRunnablesWithProgress);
-	}
-
-	public WorkspaceModifyComposedOperation(IRunnableWithProgress nestedOp) {
-		super(nestedOp);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionDelegate.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionDelegate.java
deleted file mode 100644
index 9d9a71e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionDelegate.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public abstract class AbstractActionDelegate implements org.eclipse.ui.IActionDelegate {
-	protected ISelection selection;
-	protected boolean allowsMultiSelect = false;
-	public static final Class IPROJECT_CLASS = IProject.class;
-	private final static String ERROR_OCCURRED_TITLE = J2EEUIMessages.getResourceString("ERROR_OCCURRED_TITLE"); //$NON-NLS-1$
-	private final static String ERROR_OCCURRED_MESSAGE = J2EEUIMessages.getResourceString("ERROR_OCCURRED_MESSAGE"); //$NON-NLS-1$
-
-	/**
-	 * EditModuleDependencyAction constructor comment.
-	 */
-	public AbstractActionDelegate() {
-		super();
-	}
-
-	/**
-	 * Applicable only when this action does not allow multi select
-	 */
-	protected IProject getProject() {
-		return getProject(getSelectedElement());
-	}
-
-	protected List getProjects() {
-		if ((selection == null) || !(selection instanceof IStructuredSelection))
-			return Collections.EMPTY_LIST;
-
-		List result = new ArrayList();
-		IStructuredSelection struct = (IStructuredSelection) selection;
-		Iterator it = struct.iterator();
-		while (it.hasNext()) {
-			IProject p = getProject(it.next());
-			if (p != null)
-				result.add(p);
-		}
-		return result;
-	}
-
-	protected IProject getProject(Object element) {
-
-		if (isSupportedAction(element))
-			return ProjectUtilities.getProject((EObject) element);
-		else if (element instanceof IAdaptable)
-			return (IProject) ((IAdaptable) element).getAdapter(IPROJECT_CLASS);
-		else
-			return null;
-	}
-
-	protected IStructuredSelection getStructuredSelection() {
-		if ((selection == null) || !(selection instanceof IStructuredSelection))
-			return null;
-		else if (selection.isEmpty()) {
-			selection = J2EEUIPlugin.getCurrentSelection();
-		}
-		return (IStructuredSelection) selection;
-	}
-
-	/*
-	 * Only return if there is exactly one item selected
-	 */
-	protected Object getSelectedElement() {
-		IStructuredSelection sel = getStructuredSelection();
-		return sel == null ? null : sel.getFirstElement();
-	}
-
-	protected IWorkbenchWindow getWorkbenchWindow() {
-		return J2EEUIPlugin.getActiveWorkbenchWindow();
-	}
-
-	/**
-	 * Can the receiver be executed for
-	 * 
-	 * @element
-	 */
-	protected abstract boolean isSupportedAction(Object element);
-
-	/**
-	 * @deprecated use {@link #primRun(Shell)}
-	 */
-	protected void primRun(IProject project, Shell shell) {
-		//Deprecated
-	}
-
-	/**
-	 * Subclasses should override this instead of {@link #run(org.eclipse.jface.action.IAction)}
-	 */
-	protected void primRun(Shell shell) {
-		primRun(getProject(), shell);
-	}
-
-	/**
-	 * Performs this action.
-	 * <p>
-	 * This method is called when the delegating action has been triggered. Implement this method to
-	 * do the actual work.
-	 * </p>
-	 * 
-	 * @param action
-	 *            the action proxy that handles the presentation portion of the action
-	 */
-	public void run(org.eclipse.jface.action.IAction action) {
-
-		Shell shell = getWorkbenchWindow().getShell();
-		setActionStateFromProjects(action);
-		if (!action.isEnabled())
-			MessageDialog.openInformation(shell, J2EEUIMessages.getResourceString("INFORMATION_UI_"), J2EEUIMessages.getResourceString("CHOSEN_OP_NOT_AVAILABLE")); //$NON-NLS-2$ = "The chosen operation is not currently available." //$NON-NLS-1$ = "Information"
-		else {
-			try {
-				primRun(shell);
-			} catch (Throwable t) {
-				org.eclipse.jst.j2ee.internal.plugin.ErrorDialog.openError(shell, ERROR_OCCURRED_TITLE, ERROR_OCCURRED_MESSAGE, t, 0, false);
-			}
-		}
-
-
-	}
-
-	/**
-	 * Notifies this action delegate that the selection in the workbench has changed.
-	 * <p>
-	 * Implementers can use this opportunity to change the availability of the action or to modify
-	 * other presentation properties.
-	 * </p>
-	 * 
-	 * @param action
-	 *            the action proxy that handles presentation portion of the action
-	 * @param aSelection
-	 *            the current selection in the workbench
-	 */
-	public void selectionChanged(org.eclipse.jface.action.IAction action, org.eclipse.jface.viewers.ISelection aSelection) {
-		this.selection = aSelection;
-		setActionState(action);
-	}
-
-	protected void setActionState(IAction action) {
-		if (allowsMultiSelect)
-			setActionStateForMultiSelect(action);
-		else
-			setActionStateForSingleSelect(action);
-	}
-
-	protected void setActionStateForSingleSelect(IAction action) {
-		IStructuredSelection sel = getStructuredSelection();
-		if (sel == null || sel.size() != 1) {
-			action.setEnabled(false);
-			return;
-		}
-		setActionStateFromProjects(action);
-	}
-
-	protected void setActionStateForMultiSelect(IAction action) {
-		setActionStateFromProjects(action);
-	}
-
-	protected void setActionStateFromProjects(IAction action) {
-		IStructuredSelection sel = getStructuredSelection();
-		boolean allOk = false;
-		if (sel != null && !sel.isEmpty()) {
-			allOk = true;
-			Iterator it = sel.iterator();
-			while (it.hasNext()) {
-				Object o = it.next();
-				IProject project = getProject(o);
-				if (project == null || !project.isOpen()) {
-					allOk = false;
-					break;
-				}
-			}
-		}
-		action.setEnabled(allOk);
-	}
-
-	/**
-	 * Returns the allowsMultiSelect.
-	 * 
-	 * @return boolean
-	 */
-	public boolean allowsMultiSelect() {
-		return allowsMultiSelect;
-	}
-
-
-	/**
-	 * Sets the allowsMultiSelect.
-	 * 
-	 * @param allowsMultiSelect
-	 *            The allowsMultiSelect to set
-	 */
-	public void setAllowsMultiSelect(boolean allowsMultiSelect) {
-		this.allowsMultiSelect = allowsMultiSelect;
-	}
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionWithDelegate.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionWithDelegate.java
deleted file mode 100644
index 1dbce3d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractActionWithDelegate.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IActionDelegate;
-
-
-public abstract class AbstractActionWithDelegate extends org.eclipse.ui.actions.SelectionListenerAction {
-	protected IActionDelegate delegate;
-
-	/**
-	 * EditModuleDependencyAction constructor comment.
-	 * 
-	 * @param text
-	 *            java.lang.String
-	 */
-	public AbstractActionWithDelegate() {
-		super("");//$NON-NLS-1$
-		initLabel();
-		initDelegate();
-	}
-
-	protected abstract IActionDelegate createDelegate();
-
-	protected abstract String getLabel();
-
-	protected void initDelegate() {
-		delegate = createDelegate();
-	}
-
-	protected void initLabel() {
-		setText(getLabel());
-	}
-
-	/**
-	 * Implementation of method defined on <code>IAction</code>.
-	 */
-	public void run() {
-		delegate.run(this);
-	}
-
-	/**
-	 * Updates this action in response to the given selection.
-	 * <p>
-	 * The <code>SelectionListenerAction</code> implementation of this method returns
-	 * <code>true</code>. Subclasses may extend to react to selection changes; however, if the
-	 * super method returns <code>false</code>, the overriding method must also return
-	 * <code>false</code>.
-	 * </p>
-	 * 
-	 * @param selection
-	 *            the new selection
-	 * @return <code>true</code> if the action should be enabled for this selection, and
-	 *         <code>false</code> otherwise
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		delegate.selectionChanged(this, selection);
-		return this.isEnabled();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenAction.java
deleted file mode 100644
index fbd602e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenAction.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.SelectionListenerAction;
-
-/**
- * Action for opening a J2EE resource from the J2EE navigator.
- */
-public abstract class AbstractOpenAction extends SelectionListenerAction implements IActionDelegate2 {
-	// //$NON-NLS-1$
-	protected IEditorDescriptor currentDescriptor;
-	protected Object srcObject;
-
-	protected AbstractOpenAction(String text) {
-		super(text);
-	}
-
-	protected static IEditorDescriptor findEditorDescriptor(String id) {
-		IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();
-		return registry.findEditor(id);
-	}
-
-	protected void setAttributesFromDescriptor() {
-		if (currentDescriptor == null)
-			return;
-		//setText(currentDescriptor.getLabel());
-		setToolTipText(currentDescriptor.getLabel());
-		//setImageDescriptor(currentDescriptor.getImageDescriptor());
-	}
-
-	/**
-	 * The structured selection has changed in the workbench. Subclasses should override this method
-	 * to react to the change. Returns true if the action should be enabled for this selection, and
-	 * false otherwise.
-	 * 
-	 * When this method is overridden, the super method must always be invoked. If the super method
-	 * returns false, this method must also return false.
-	 * 
-	 * @param sel
-	 *            the new structured selection
-	 */
-	public boolean updateSelection(IStructuredSelection s) {
-		srcObject = null;
-		if (!super.updateSelection(s))
-			return false;
-
-		if (s.size() != 1)
-			return false;
-
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		//Dispose
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		//init
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		runWithEvent(event);
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		// TODO Auto-generated method stub
-		run();
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		// TODO HACK!
-		updateSelection((IStructuredSelection) selection);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardAction.java
deleted file mode 100644
index d652982..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardAction.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWizard;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-
-
-public abstract class AbstractOpenWizardAction extends org.eclipse.jface.action.Action {
-	// //$NON-NLS-1$
-
-	private IWorkbench fWorkbench;
-
-	private Class[] fActivatedOnTypes;
-
-	private boolean fAcceptEmptySelection;
-
-	protected AbstractOpenWizardAction() {
-		//Default constructor
-	}
-
-	public AbstractOpenWizardAction(IWorkbench workbench, String label, Class[] activatedOnTypes, boolean acceptEmptySelection) {
-		super(label);
-		fWorkbench = workbench;
-		fActivatedOnTypes = activatedOnTypes;
-		fAcceptEmptySelection = acceptEmptySelection;
-	}
-
-	public AbstractOpenWizardAction(IWorkbench workbench, String label, boolean acceptEmptySelection) {
-		this(workbench, label, null, acceptEmptySelection);
-	}
-
-	public boolean canActionBeAdded() {
-		ISelection selection = getCurrentSelection();
-		if (selection == null || selection.isEmpty()) {
-			return fAcceptEmptySelection;
-		}
-		if (fActivatedOnTypes != null) {
-			if (selection instanceof IStructuredSelection) {
-				return isEnabled(((IStructuredSelection) selection).iterator());
-			}
-			return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Create the specific Wizard (to be implemented by a subclass)
-	 */
-	abstract protected Wizard createWizard();
-
-	protected IStructuredSelection getCurrentSelection() {
-		IWorkbenchWindow window = J2EEUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
-		if (window != null) {
-			ISelection selection = window.getSelectionService().getSelection();
-			if (selection instanceof IStructuredSelection) {
-				return (IStructuredSelection) selection;
-			}
-
-		}
-		return null;
-	}
-
-	protected IWorkbench getWorkbench() {
-		return fWorkbench;
-	}
-
-	private boolean isEnabled(Iterator iter) {
-		while (iter.hasNext()) {
-			Object obj = iter.next();
-			if (!isOfAcceptedType(obj) || !shouldAcceptElement(obj)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	private boolean isOfAcceptedType(Object obj) {
-		for (int i = 0; i < fActivatedOnTypes.length; i++) {
-			if (fActivatedOnTypes[i].isInstance(obj)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	protected String getDialogText() {
-		return J2EEUIMessages.getResourceString(J2EEUIMessages.NEW_LBL);
-	}
-
-	/**
-	 * The user has invoked this action.
-	 */
-	public void run() {
-		Wizard wizard = createWizard();
-		if (wizard instanceof IWorkbenchWizard) {
-			IStructuredSelection sel = null;
-			if (null != getCurrentSelection())
-				sel = getCurrentSelection();
-			else
-				sel = new StructuredSelection();
-			((IWorkbenchWizard) wizard).init(J2EEUIPlugin.getDefault().getWorkbench(), sel);
-		}
-		if (WorkbenchActivityHelper.allowUseOf(null,wizard)) {
-			IWorkbenchWindow window = J2EEUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
-			WizardDialog dialog = new WizardDialog(window.getShell(), wizard);
-			dialog.create();
-			String text = getDialogText();
-			if (null != text) {
-				dialog.getShell().setText(text);
-			}
-			dialog.open();
-		}
-	}
-
-	protected void setWorkbench(IWorkbench workbench) {
-		fWorkbench = workbench;
-	}
-
-	/**
-	 * can be overridden to add more checks obj is guaranteed to be instance of one of the accepted
-	 * types
-	 */
-	protected boolean shouldAcceptElement(Object obj) {
-		return true;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardWorkbenchAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardWorkbenchAction.java
deleted file mode 100644
index 5c70936..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/AbstractOpenWizardWorkbenchAction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public abstract class AbstractOpenWizardWorkbenchAction extends AbstractOpenWizardAction implements org.eclipse.ui.IWorkbenchWindowActionDelegate {
-	protected AbstractOpenWizardWorkbenchAction() {
-		//Default
-	}
-
-	public AbstractOpenWizardWorkbenchAction(IWorkbench workbench, String label, Class[] activatedOnTypes, boolean acceptEmptySelection) {
-		super(workbench, label, null, acceptEmptySelection);
-	}
-
-	public AbstractOpenWizardWorkbenchAction(IWorkbench workbench, String label, boolean acceptEmptySelection) {
-		super(workbench, label, null, acceptEmptySelection);
-	}
-
-	/**
-	 * @see AbstractOpenWizardAction#dispose
-	 */
-	public void dispose() {
-		// do nothing.
-		setWorkbench(null);
-	}
-
-	/**
-	 * @see AbstractOpenWizardAction#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		setWorkbench(window.getWorkbench());
-	}
-
-	/**
-	 * @see IActionDelegate#run
-	 */
-	public void run(IAction action) {
-		run();
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		// do nothing. Action doesn't depend on selection.
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/BaseAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/BaseAction.java
deleted file mode 100644
index 7cc7131..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/BaseAction.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 27, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.internal.plugin.ErrorDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-/**
- * @author jsholl
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public abstract class BaseAction extends Action implements IActionDelegate {
-
-	protected IStructuredSelection selection = null;
-
-	protected IWorkbenchWindow getWorkbenchWindow() {
-		return J2EEUIPlugin.getPluginWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public void setSelection(IStructuredSelection selection) {
-		this.selection = selection;
-	}
-
-	public void run() {
-		Shell shell = getWorkbenchWindow().getShell();
-		if (null == selection) {
-			ISelection autoselection = getWorkbenchWindow().getSelectionService().getSelection();
-			if (autoselection instanceof IStructuredSelection)
-				this.selection = (IStructuredSelection) autoselection;
-		}
-
-		try {
-			primRun(shell);
-			this.selection = null;
-		} catch (Throwable t) {
-			Logger.getLogger().logError(t);
-			String ERROR_OCCURRED_TITLE = J2EEUIMessages.getResourceString("ERROR_OCCURRED_TITLE"); //$NON-NLS-1$
-			String ERROR_OCCURRED_MESSAGE = J2EEUIMessages.getResourceString("ERROR_OCCURRED_MESSAGE"); //$NON-NLS-1$
-			ErrorDialog.openError(shell, ERROR_OCCURRED_TITLE, ERROR_OCCURRED_MESSAGE, t, 0, false);
-		}
-
-	}
-
-	protected abstract void primRun(Shell shell);
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		//dispose
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		//init
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection aSelection) {
-		setSelection((IStructuredSelection) aSelection);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run();
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		run();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ComponentEditorInput.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ComponentEditorInput.java
deleted file mode 100644
index 1f2bba9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ComponentEditorInput.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-public class ComponentEditorInput implements IEditorInput {
-
-	private IVirtualComponent component;
-	
-	public ComponentEditorInput(IVirtualComponent  component){
-		this.component = component;
-	}
-	
-	public boolean exists() {
-		return component.exists();
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	public String getName() {
-		return component.getName();
-	}
-
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	public String getToolTipText() {
-		return ""; //$NON-NLS-1$
-	}
-
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	public IVirtualComponent getComponent(){
-		return component;
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ForceClasspathUpdateAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ForceClasspathUpdateAction.java
deleted file mode 100644
index 0122ba5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ForceClasspathUpdateAction.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c)2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies 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.internal.actions;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
-import org.eclipse.ui.IActionDelegate;
-
-public class ForceClasspathUpdateAction extends Action implements IActionDelegate{
-
-	private List projectsList = new ArrayList();
-	
-	public void run() {
-		J2EEComponentClasspathUpdater.getInstance().forceUpdate(projectsList);
-	}
-
-	public void run(IAction action) {
-		J2EEComponentClasspathUpdater.getInstance().forceUpdate(projectsList);
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		action.setEnabled(setSelection(selection));
-	}
-	
-	private boolean setSelection(ISelection selection){
-		projectsList.clear();
-		if(selection != null && selection instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection)selection;
-			if (structuredSelection.size() > 0) {
-	            Iterator iterator = structuredSelection.iterator();
-	            while(iterator.hasNext()){
-		            Object next = iterator.next();
-		            if (next instanceof IProject) {
-		            	projectsList.add(next);
-		            } else {
-		            	projectsList.clear();
-		            	return false;
-		            }
-	            }
-	        } else { // empty selection
-	        	return false;
-	        }
-	        return true;
-		}
-		return false;
-	}
-	
-	
-	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/IJ2EEUIContextIds.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/IJ2EEUIContextIds.java
deleted file mode 100644
index e25fc0c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/IJ2EEUIContextIds.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-
-
-/**
- * Insert the type's description here. Creation date: (9/6/2001 12:23:02 PM)
- * 
- * @author: Administrator
- */
-public interface IJ2EEUIContextIds {
-	//	 New creation wizards
-	public static final String NEW_EAR_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".EAR_NEW_EAR_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String NEW_EAR_ADD_MODULES_PAGE = J2EEUIPlugin.PLUGIN_ID + ".NEW_EAR_ADD_MODULES_PAGE"; //$NON-NLS-1$
-	public static final String NEW_EAR_COMP_PAGE = J2EEUIPlugin.PLUGIN_ID + ".NEW_EAR_COMP_PAGE"; //$NON-NLS-1$
-	public static final String EAR_NEW_MODULE_PROJECTS_PAGE = J2EEUIPlugin.PLUGIN_ID + ".EAR_NEW_MODULE_PROJECTS_PAGE"; //$NON-NLS-1$
-	public static final String NEW_APPCLIENT_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".APPCLIENT_NEW_APPCLIENT_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String NEW_APPCLIENT_WIZARD_P3 = J2EEUIPlugin.PLUGIN_ID + ".APPCLIENT_NEW_APPCLIENT_WIZARD_PAGE3"; //$NON-NLS-1$
-	public static final String NEW_EJB_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".EJB_NEW_EJB_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String NEW_EJB_WIZARD_P2 = J2EEUIPlugin.PLUGIN_ID + ".EJB_NEW_EJB_WIZARD_PAGE2"; //$NON-NLS-1$
-	public static final String NEW_EJB_WIZARD_P3 = J2EEUIPlugin.PLUGIN_ID + ".EJB_NEW_EJB_WIZARD_PAGE3"; //$NON-NLS-1$
-	public static final String NEW_CONNECTOR_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".JCA_NEWIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String NEW_CONNECTOR_WIZARD_P3 = J2EEUIPlugin.PLUGIN_ID + ".JCA_NEWIZARD_PAGE3"; //$NON-NLS-1$
-	public static final String NEW_JAVA_COMPONENT_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".NEW_JAVA_COMPONENT_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String NEW_JAVA_CLASS_OPTION_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".NEW_JAVA_CLASS_OPTION_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String NEW_UTILITY_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".NEW_UTILITY_WIZARD_P1"; //$NON-NLS-1$
-	public static final String NEW_UTILITY_WIZARD_P3 = J2EEUIPlugin.PLUGIN_ID + ".NEW_UTILITY_WIZARD_P3"; //$NON-NLS-1$
-	
-	// Import, export wizards
-	public static final String IMPORT_EAR_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".EAR_IMPORT_EAR_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String IMPORT_EAR_WIZARD_P2 = J2EEUIPlugin.PLUGIN_ID + ".EAR_IMPORT_EAR_WIZARD_PAGE2"; //$NON-NLS-1$
-	public static final String IMPORT_EAR_WIZARD_P3 = J2EEUIPlugin.PLUGIN_ID + ".EAR_IMPORT_EAR_WIZARD_PAGE3"; //$NON-NLS-1$
-	public static final String IMPORT_APPCLIENT_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".APPCLIENT_IMPORT_APPCLIENT_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String IMPORT_EJB_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".EJB_IMPORT_EJB_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String IMPORT_RAR_WIZARD_PAGE = J2EEUIPlugin.PLUGIN_ID + ".IMPORT_RAR_WIZARD_PAGE"; //$NON-NLS-1$
-	public static final String IMPORT_UTILITY_JAR_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".IMPORT_UTILITY_JAR_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String IMPORT_UTILITY_JAR_WIZARD_P2 = J2EEUIPlugin.PLUGIN_ID + ".IMPORT_UTILITY_JAR_WIZARD_PAGE2"; //$NON-NLS-1$
-	public static final String IMPORT_CLASS_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".IMPORT_CLASS_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String IMPORT_CLASS_WIZARD_P2 = J2EEUIPlugin.PLUGIN_ID + ".IMPORT_CLASS_WIZARD_PAGE2"; //$NON-NLS-1$
-
-	public static final String EXPORT_EAR_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".EAR_EXPORT_PAGE1"; //$NON-NLS-1$ 
-	public static final String EXPORT_APPCLIENT_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".APPCLIENT_EXPORT_APPCLIENT_WIZARD_PAGE1"; //$NON-NLS-1$
-	public static final String EXPORT_EJB_WIZARD_P1 = J2EEUIPlugin.PLUGIN_ID + ".EJB_EXPORT_PAGE1"; //$NON-NLS-1$
-	public static final String EXPORT_RAR_WIZARD_PAGE = J2EEUIPlugin.PLUGIN_ID + ".EXPORT_RAR_WIZARD_PAGE"; //$NON-NLS-1$
-
-	// dialogs
-	public static final String DELEATE_EAR_DIALOG_1 = J2EEUIPlugin.PLUGIN_ID + ".navm2000"; //$NON-NLS-1$
-	public static final String DELEATE_MODULE_DIALOG_1 = J2EEUIPlugin.PLUGIN_ID + ".navm2010"; //$NON-NLS-1$
-	public static final String RENAME_EAR_DIALOG_1 = J2EEUIPlugin.PLUGIN_ID + ".navm3000"; //$NON-NLS-1$
-	public static final String RENAME_MODULE_DIALOG_1 = J2EEUIPlugin.PLUGIN_ID + ".navm3010"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ImportClassesAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ImportClassesAction.java
deleted file mode 100644
index abff486..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/ImportClassesAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 31, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.wizard.ClassesImportWizard;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * @author jsholl
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ImportClassesAction extends WTPBaseAction {
-
-	public static String LABEL = J2EEUIMessages.getResourceString("Import_Classes"); //$NON-NLS-1$
-
-	public ImportClassesAction() {
-		super();
-		setText(LABEL);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.common.actions.BaseAction#primRun(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void primRun(Shell shell) {
-		IProject project = ProjectUtilities.getProject(getSelection().getFirstElement());
-		ClassesImportWizard wizard = new ClassesImportWizard(project);
-
-
-		wizard.init(PlatformUI.getWorkbench(), StructuredSelection.EMPTY);
-		wizard.setDialogSettings(J2EEUIPlugin.getDefault().getDialogSettings());
-
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-
-		dialog.create();
-		dialog.getShell().setSize(550, 550);
-		dialog.open();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java
deleted file mode 100644
index 4a83389..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteAction.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.ui.actions.SelectionDispatchAction;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.common.internal.util.CommonUtil;
-import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
-import org.eclipse.jst.j2ee.internal.delete.DeleteOptions;
-import org.eclipse.jst.j2ee.internal.dialogs.DeleteEARDialog;
-import org.eclipse.jst.j2ee.internal.dialogs.DeleteModuleDialog;
-import org.eclipse.jst.j2ee.internal.dialogs.J2EEDeleteDialog;
-import org.eclipse.jst.j2ee.internal.dialogs.J2EEDeleteUIConstants;
-import org.eclipse.jst.j2ee.internal.plugin.CommonEditorUtility;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.actions.DeleteResourceAction;
-import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-public class J2EEDeleteAction extends SelectionDispatchAction implements J2EEDeleteUIConstants {
-
-	protected Shell shell;
-	//Used for EAR delete
-	protected Set referencedProjects;
-	protected List projects;
-	protected DeleteOptions options;
-	// added for IRefactoringAction behavior
-	protected ISelectionProvider provider = null;
-
-
-
-	/**
-	 * Constructor for DeleteModuleAction.
-	 * 
-	 * @param text
-	 */
-	public J2EEDeleteAction(IWorkbenchSite site, Shell parent) {
-		super(site);
-		setText(DELETE);
-		shell = parent;
-	}
-
-	public J2EEDeleteAction(IWorkbenchSite site, ISelectionProvider newProvider) {
-		super(site);
-		setText(DELETE);
-		shell = J2EEUIPlugin.getActiveWorkbenchWindow().getShell();
-		provider = newProvider;
-	}
-
-	protected void reset() {
-		referencedProjects = null;
-		projects = null;
-		options = null;
-	}
-
-	protected boolean getEnableStateBasedOnSelection(IStructuredSelection selection) {
-		if (selection.isEmpty())
-			return false;
-		return isSelectionApplicable() && isSelectionSomeJ2EE();
-	}
-
-	/**
-	 * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected void updateSelection(IStructuredSelection selection) {
-		update(selection);
-	}
-
-	protected boolean isSelectionApplicable() {
-		IStructuredSelection sel = (StructuredSelection) getSelection();
-		Iterator it = sel.iterator();
-		while (it.hasNext()) {
-			Object o = it.next();
-			if (!isJ2EEModule(o) && !isApplication(o) && !isProjectOrJavaProject(o))
-				return false;
-		}
-		return true;
-	}
-
-	protected boolean isSelectionSomeJ2EE() {
-		IStructuredSelection sel = (StructuredSelection) getSelection();
-		Iterator it = sel.iterator();
-		while (it.hasNext()) {
-			Object o = it.next();
-			if (isJ2EEModule(o) || isApplication(o))
-				return true;
-		}
-		return false;
-	}
-
-
-	protected boolean isSelectionAllDDRoots() {
-		IStructuredSelection sel = (StructuredSelection) getSelection();
-		Iterator it = sel.iterator();
-		while (it.hasNext()) {
-			Object o = it.next();
-			if (!isJ2EEModule(o))
-				return false;
-		}
-		return true;
-	}
-
-	protected boolean isSelectionAllApplications() {
-		IStructuredSelection sel = (StructuredSelection) getSelection();
-		Iterator it = sel.iterator();
-		while (it.hasNext()) {
-			Object o = it.next();
-			if (!isApplication(o))
-				return false;
-		}
-		return true;
-	}
-
-	protected boolean isJ2EEModule(Object o) {
-		//TODO switch to virtual comp
-//		if (o instanceof WorkbenchComponent) {
-//			WorkbenchComponent module = (WorkbenchComponent) o;
-//			String moduleType = module.getComponentType().getComponentTypeId();
-//			//TODO need to add connector, app client, ear, ejb client
-//			return moduleType.equals(IModuleConstants.JST_WEB_MODULE) || moduleType.equals(IModuleConstants.JST_EJB_MODULE);
-//		}
-		return CommonUtil.isDeploymentDescriptorRoot(o, false);
-	}
-
-	protected boolean isApplication(Object o) {
-		return (o instanceof Application) || isJ2EEApplicationProject(o);
-	}
-
-	protected boolean isProjectOrJavaProject(Object o) {
-		return (o instanceof IProject) || (o instanceof IJavaProject);
-	}
-
-	protected List getProjects() {
-		if (projects == null) {
-			projects = new ArrayList();
-			IStructuredSelection sel = (StructuredSelection) getSelection();
-			Iterator iterator = sel.iterator();
-			IProject project = null;
-			Object o = null;
-			while (iterator.hasNext()) {
-				o = iterator.next();
-				if (o instanceof IJavaProject)
-					o = ((IJavaProject) o).getProject();
-				if (o instanceof IProject) {
-					projects.add(o);
-					addEJBClientProjectIfNecessary((IProject) o, projects);
-				} else if (o instanceof EObject) {
-					EObject obj = (EObject) o;
-					project = ProjectUtilities.getProject(obj);
-					if (project == null)
-						throw new RuntimeException(J2EEUIMessages.getResourceString("Project_should_not_be_null_1_EXC_")); //$NON-NLS-1$
-					projects.add(project);
-					addEJBClientProjectIfNecessary(project, projects);
-				} else {
-					throw new RuntimeException(J2EEUIMessages.getResourceString("Non-project_in_selection_2_EXC_")); //$NON-NLS-1$
-				}
-			}
-		}
-		return projects;
-	}
-
-	/**
-	 * @param project
-	 * @param localProjects
-	 */
-	private void addEJBClientProjectIfNecessary(IProject project, List localProjects) {
-		IVirtualComponent comp = ComponentCore.createComponent(project);
-		EJBArtifactEdit edit = EJBArtifactEdit.getEJBArtifactEditForRead(comp);
-		if (edit != null && edit.hasEJBClientJARProject())
-			localProjects.add(edit.getEJBClientJarModule().getProject());
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		try {
-			J2EEDeleteDialog dlg = null;
-			if (isSelectionAllApplications())
-				dlg = new DeleteEARDialog(shell, getReferencedProjects());
-			else if (isSelectionAllDDRoots())
-				dlg = new DeleteModuleDialog(shell);
-			else {
-				if (confirmStandardDelete())
-					runResourceDeleteAction();
-				return;
-			}
-
-			dlg.open();
-			if (dlg.getReturnCode() == Window.CANCEL)
-				return;
-			options = dlg.getDeleteOptions();
-			if (options != null)
-				options.setSelectedProjects(getProjects());
-			else
-				return;
-			if (!(ensureEditorsSaved() && validateState()))
-				return;
-			deleteProjectsIfNecessary();
-			deleteMetadataIfNecessary();
-			presentStatusIfNeccessary();
-		} finally {
-			reset();
-		}
-	}
-
-	private boolean ensureEditorsSaved() {
-		return CommonEditorUtility.promptToSaveAllDirtyEditors();
-	}
-
-	protected boolean confirmStandardDelete() {
-		return MessageDialog.openConfirm(shell, DELETE_PROJECTS, CUSTOM_DELETE_MIX_MATCH);
-	}
-
-	protected Set getReferencedProjects() {
-		if (referencedProjects == null)
-			computeReferencedProjects();
-		return referencedProjects;
-	}
-
-	protected void computeReferencedProjects() {
-		//TODO fix up to use components
-//		getProjects();
-//		referencedProjects = new HashSet();
-//		for (int i = 0; i < projects.size(); i++) {
-//			IProject project = (IProject) projects.get(i);
-//			EARNatureRuntime runtime = EARNatureRuntime.getRuntime(project);
-//			if (runtime == null)
-//				continue;
-//			EAREditModel editModel = runtime.getEarEditModelForRead(this);
-//			try {
-//				referencedProjects.addAll(editModel.getModuleMappedProjects());
-//			} finally {
-//				editModel.releaseAccess(this);
-//			}
-//		}
-	}
-
-//	protected DeleteModuleOperation getDeleteModuleOperation() {
-//		if (deleteModuleOperation == null)
-//			deleteModuleOperation = new DeleteModuleOperation(options);
-//		return deleteModuleOperation;
-//	}
-
-	protected void deleteMetadataIfNecessary() {
-		if (!shouldDeleteMetaData())
-			return;
-
-//		IRunnableWithProgress runnable = WTPUIPlugin.getRunnableWithProgress(getDeleteModuleOperation());
-//		ProgressMonitorDialog monitorDialog = new ProgressMonitorDialog(shell);
-//
-//		try {
-//			monitorDialog.run(false, false, runnable);
-//		} catch (InvocationTargetException e) {
-//			handleException(e);
-//		} catch (InterruptedException e) {
-//			//Ignore
-//		}
-	}
-
-	protected boolean shouldDeleteMetaData() {
-		if (deleteProjectsFailedOrCancelled())
-			return false;
-		return primShouldDeleteMetaData();
-	}
-
-	protected boolean primShouldDeleteMetaData() {
-		return options != null && (options.shouldDeleteModules() || options.shouldDeleteModuleDependencies());
-	}
-
-	protected boolean deleteProjectsFailedOrCancelled() {
-		if (options == null || !options.shouldDeleteProjects())
-			return false;
-		return deletedProjectsExist();
-	}
-
-	protected boolean deletedProjectsExist() {
-		List deletedProjects = options.getAllProjectsToDelete();
-		for (int i = 0; i < deletedProjects.size(); i++) {
-			IProject project = (IProject) deletedProjects.get(i);
-			if (project.exists())
-				return true;
-		}
-		return false;
-	}
-
-	protected void deleteProjectsIfNecessary() {
-		if (options.shouldDeleteProjects())
-			runResourceDeleteAction();
-	}
-
-	protected void runResourceDeleteAction() {
-		DeleteResourceAction action = new DeleteResourceAction(shell);
-		List localProjects = null;
-		if (options == null)
-			localProjects = getProjects();
-		else
-			localProjects = options.getAllProjectsToDelete();
-		Iterator it = localProjects.iterator();
-		while (it.hasNext()) {
-			IProject p = (IProject) it.next();
-			if (!p.exists())
-				it.remove();
-		}
-		IStructuredSelection sel = new StructuredSelection(localProjects);
-		action.selectionChanged(sel);
-		action.run();
-	}
-
-	public void handleException(InvocationTargetException e) {
-		Logger.getLogger().logError(e);
-		IStatus status = J2EEPlugin.newErrorStatus(IStatus.ERROR, DELETE_ERROR, e);
-		ErrorDialog.openError(shell, DELETE_ERROR, DELETE_NOT_COMPLETED, status);
-	}
-
-	/**
-	 * Update the action's enable state according to the current selection of the used selection
-	 * provider.
-	 */
-	public void update() {
-		IStructuredSelection selection = null;
-
-		if (provider != null) {
-			selection = (IStructuredSelection) provider.getSelection();
-			selectionChanged((ISelection) selection);
-		} else {
-			selection = (IStructuredSelection) getSelection();
-
-			if (selection == null) {
-				setEnabled(false);
-			} else {
-				updateSelection(selection);
-			}
-		}
-	}
-
-	protected boolean isJ2EEApplicationProject(Object o) {
-		if (o instanceof IProject) {
-			IProject project = (IProject) o;
-			if (J2EEProjectUtilities.isEARProject(project))
-				return true;
-		}
-		return false;
-	}
-
-	protected void setEnabledFromSelection(IStructuredSelection selection) {
-		if (selection == null) {
-			setEnabled(false);
-		} else {
-			setEnabled(getEnableStateBasedOnSelection(selection));
-		}
-	}
-
-	/**
-	 * @see SelectionDispatchAction#selectionChanged(ISelection)
-	 */
-	public void selectionChanged(ISelection selection) {
-		if (selection instanceof IStructuredSelection)
-			setEnabledFromSelection((IStructuredSelection) selection);
-		else
-			super.selectionChanged(selection);
-	}
-
-	protected boolean validateState() {
-		// TODO Fix validateState
-		//		if (!primShouldDeleteMetaData())
-		//			return true;
-		//		
-		//		IValidateEditListener listener = new ValidateEditListener(null,
-		// getDeleteModuleOperation().getDeleteEditModel());
-		//		listener.setShell(shell);
-		//		return listener.validateState().isOK();
-		return true;
-	}
-
-	protected void presentStatusIfNeccessary() {
-		IStatus status = null;
-//		if (deleteModuleOperation != null)
-//			status = deleteModuleOperation.getStatus();
-
-		if (status == null || status.isOK())
-			return;
-
-		ErrorDialog.openError(shell, null, null, status, IStatus.ERROR);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteModuleActionPopulator.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteModuleActionPopulator.java
deleted file mode 100644
index 97d00f3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeleteModuleActionPopulator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jun 16, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * @author mdelder
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class J2EEDeleteModuleActionPopulator {//implements WTPOperationDataModelUICreator {
-
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.operation.extension.ui.WTPOperationDataModelUICreator#createDataModel(java.lang.String,
-	 *      java.lang.String, org.eclipse.jface.viewers.IStructuredSelection,
-	 *      org.eclipse.ui.IWorkbenchSite)
-	 */
-	public IDataModel createDataModel(String extendedOperationId, String operationClass, IStructuredSelection selection, IWorkbenchSite site) {
-		//TODO fix up
-//		J2EEDeleteAction deleteAction = new J2EEDeleteAction(site, (ISelectionProvider) null);
-//		WTPOperationDataModel dataModel = IActionWTPOperationDataModel.createDataModel(deleteAction, selection, site.getSelectionProvider(), site.getShell());
-//		return dataModel;
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeployAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeployAction.java
deleted file mode 100644
index 47b6593..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEDeployAction.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 30, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-import java.text.MessageFormat;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.internal.deploy.DeployerRegistry;
-import org.eclipse.jst.j2ee.internal.deploy.J2EEDeployOperation;
-import org.eclipse.jst.j2ee.internal.dialogs.RuntimeSelectionDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.frameworks.internal.WTPResourceHandler;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-import org.eclipse.wst.server.core.IRuntime;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class J2EEDeployAction extends BaseAction {
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.ui.actions.BaseAction#primRun(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void primRun(Shell shell) {
-
-		if (checkEnabled(shell)) {
-			final IStructuredSelection deploySelection = selection;
-			Job deployJob = new Job("Deploy") {
-				protected IStatus run(IProgressMonitor monitor) {
-					IStatus result = null;
-					J2EEDeployOperation op = new J2EEDeployOperation(deploySelection.toArray());
-					try {
-						result = op.execute(monitor, null);
-					} catch (Exception e) {
-						result = new Status(IStatus.ERROR, WTPCommonPlugin.PLUGIN_ID, IStatus.ERROR, WTPResourceHandler.getString("27"), e); //$NON-NLS-1$
-						Logger.getLogger().logError(e);
-					} finally {
-						
-					}
-					return result;
-				}
-			};
-			
-			
-			try {
-				deployJob.setUser(true);
-				deployJob.schedule();
-			} catch (Exception e) {
-				//Ignore
-			}
-			
-		}
-
-	}
-
-	/*
-	 *  
-	 */
-	public J2EEDeployAction() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection aSelection) {
-		super.selectionChanged(action, aSelection);
-		action.setEnabled(true);
-	}
-
-	
-	public boolean checkEnabled(Shell shell) {
-
-		try {
-			DeployerRegistry reg = DeployerRegistry.instance();
-
-			List components = DeployerRegistry.getSelectedModules(selection.toArray());
-			for (int i = 0; i < components.size(); i++) {
-				IVirtualComponent component = (IVirtualComponent) components.get(i);
-				IProject proj = component.getProject();
-				if (proj == null) {
-					displayMessageDialog(J2EEUIMessages.getResourceString("DEPLOY_PROJECT_NOT_FOUND") , shell);
-					return false;
-				}
-				
-				IRuntime runtime = J2EEProjectUtilities.getServerRuntime(proj);
-				if (runtime == null) {
-					String message = MessageFormat.format(J2EEUIMessages.getResourceString("DEPLOY_RUNTIME_NOT_FOUND"), new String []{proj.getName()});
-					RuntimeSelectionDialog selectionDialog = new RuntimeSelectionDialog(shell, 
-							J2EEUIMessages.getResourceString("DEPLOY_DIALOG_TITLE"), 
- 								null /* default image */, 
- 								message, 
- 								MessageDialog.ERROR, 
- 								new String[] { IDialogConstants.OK_LABEL }, 0, proj) ;
-					selectionDialog.open();
-					runtime = J2EEProjectUtilities.getServerRuntime(proj);
-					if (runtime == null)
-						return false;
-				}
-				List visitors = reg.getDeployModuleExtensions(proj, runtime);
-				if (visitors.isEmpty()) {
-					displayMessageDialog(MessageFormat.format(J2EEUIMessages.getResourceString("DEPLOY_PROJECT_NOT_SUPPORTED"), new String []{proj.getName()}), shell);
-					return false;
-				}
-				
-			}
-			
-			return true;
-		} catch (CoreException e) {
-			System.out.println("Deploy Action recovering from problem verifying enablement."); //$NON-NLS-1$
-			e.printStackTrace();
-		}
-		return false;
-	}
-	
-	private void displayMessageDialog(String message, Shell shell) {
-		 String title = J2EEUIMessages.getResourceString("DEPLOY_DIALOG_TITLE");
-		 MessageDialog dialog = new MessageDialog(shell, 
-				 								title, 
-				 								null /* default image */, 
-				 								message, 
-				 								MessageDialog.ERROR, 
-				 								new String[] { IDialogConstants.OK_LABEL }, 0) ;
-	     dialog.open();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java
deleted file mode 100644
index e4f227f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEModuleRenameChange.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Sep 26, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.j2ee.internal.dialogs.J2EERenameUIConstants;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-
-/**
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class J2EEModuleRenameChange extends Change {
-
-//	private String newName;
-	private IProject target;
-//	private boolean renameDependencies;
-
-	public J2EEModuleRenameChange(IProject target, String newName, boolean renameDependencies) {
-		this.target = target;
-//		this.newName = newName;
-//		this.renameDependencies = renameDependencies;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.Change#getName()
-	 */
-	public String getName() {
-		return J2EERenameUIConstants.RENAME_MODULES;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.Change#initializeValidationData(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		//Do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.Change#isValid(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		if (target != null)
-			return RefactoringStatus.create(Status.OK_STATUS);
-		return RefactoringStatus.create(new Status(IStatus.ERROR, J2EEUIPlugin.PLUGIN_ID, 0, "", null)); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.Change#perform(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-//		try {
-
-//			RenameModuleOperation renameOp = new RenameModuleOperation(getRenameOptions());
-//			renameOp.run(pm);
-
-			//String contextRoot = getServerContextRoot();
-			// TODO fix up rename and context root operations
-			//if (webNature != null) {
-				//new UpdateWebContextRootMetadataOperation(newTarget, webNature.getContextRoot()).run(pm);
-//			if(contextRoot.equals("") == false){ //$NON-NLS-1$
-//				new UpdateWebContextRootMetadataOperation(target, contextRoot).run(pm);
-//			} else if (J2EENature.getRegisteredRuntime(target) == null)
-//				new RenameUtilityJarMetadataOperation(target, newTarget).run(pm);
-//		} catch (InvocationTargetException e) {
-//			//Ignore
-//		} catch (InterruptedException e) {
-//			//Ignore
-//		}
-		return null;
-	}
-	
-	protected String getServerContextRoot() {
-		WebArtifactEdit webEdit = null;
-		try{
-			webEdit = WebArtifactEdit.getWebArtifactEditForRead(target);
-       		if (webEdit != null)
-       			return webEdit.getServerContextRoot();			
-		} finally {
-			if (webEdit != null )
-				webEdit.dispose();
-		}	
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * @return
-	 */
-	/**@deprecated 
-	 * If this method is not used it should be removed at a later time, marking as deprecated
-	 * Warning cleanup 12/07/2005
-	 */
-//	private RenameOptions getRenameOptions() {
-//		RenameOptions options = new RenameOptions();
-//		options.setNewName(this.newName);
-//		options.setSelectedProjects(Collections.singletonList(this.target));
-//		// TODO check module type for EAR type
-//		//options.setIsEARRename(EARNatureRuntime.getRuntime(this.target) != null);
-//		options.setRenameModuleDependencies(this.renameDependencies);
-//		options.setRenameModules(true);
-//		options.setRenameProjects(false);
-//		return options;
-//	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.Change#getModifiedElement()
-	 */
-	public Object getModifiedElement() {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java
deleted file mode 100644
index 3890197..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameAction.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jdt.ui.actions.SelectionDispatchAction;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.common.internal.util.CommonUtil;
-import org.eclipse.jst.j2ee.internal.dialogs.J2EERenameDialog;
-import org.eclipse.jst.j2ee.internal.dialogs.J2EERenameUIConstants;
-import org.eclipse.jst.j2ee.internal.dialogs.RenameModuleDialog;
-import org.eclipse.jst.j2ee.internal.plugin.CommonEditorUtility;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.internal.rename.RenameOptions;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.RenameResourceAction;
-import org.eclipse.wst.common.componentcore.UnresolveableURIException;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-
-public class J2EERenameAction extends SelectionDispatchAction implements J2EERenameUIConstants {
-
-	protected Shell shell;
-	//Used for EAR rename
-	protected Set referencedProjects;
-	protected List modules;
-	protected RenameOptions options;
-	// added for IRefactoringAction behavior
-	protected ISelectionProvider provider = null;
-//	protected RenameModuleOperation renameModuleOperation = null;
-
-	/**
-	 * Constructor for RenameModuleAction.
-	 * 
-	 * @param text
-	 */
-	public J2EERenameAction(IWorkbenchSite site, Shell parent) {
-		super(site);
-		setText(RENAME);
-		shell = parent;
-	}
-
-	public J2EERenameAction(IWorkbenchSite site, ISelectionProvider newProvider) {
-		super(site);
-		setText(RENAME);
-		shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-		provider = newProvider;
-	}
-
-	protected void reset() {
-//		if (renameModuleOperation != null) {
-//			renameModuleOperation.release();
-//			renameModuleOperation = null;
-//		}
-		referencedProjects = null;
-		modules = null;
-		options = null;
-	}
-
-	/**
-	 * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected void updateSelection(IStructuredSelection selection) {
-		super.update(selection);
-	}
-
-	/**
-	 * @see SelectionDispatchAction#selectionChanged(ISelection)
-	 */
-	public void selectionChanged(ISelection selection) {
-		if (selection instanceof IStructuredSelection)
-			setEnabledFromSelection((IStructuredSelection) selection);
-		else
-			super.selectionChanged(selection);
-	}
-
-	protected void setEnabledFromSelection(IStructuredSelection selection) {
-		if (selection == null) {
-			setEnabled(false);
-		} else {
-			if (selection.toList().size() != 1) {
-				setEnabled(false);
-			} else {
-				setEnabled(getEnableStateBasedOnSelection(selection));
-			}
-		}
-	}
-
-	protected boolean getEnableStateBasedOnSelection(IStructuredSelection selection) {
-		if (selection.isEmpty())
-			return false;
-		return isSelectionAllDDRoots() || isSelectionAllApplications();
-	}
-
-	protected boolean isSelectionAllDDRoots() {
-		IStructuredSelection sel = (StructuredSelection) getSelection();
-		Iterator it = sel.iterator();
-		while (it.hasNext()) {
-			Object o = it.next();
-			//TODO check for j2ee workbench module selection
-			if (!CommonUtil.isDeploymentDescriptorRoot(o, false) /*&& !isJ2EEProject(o)*/)
-				return false;
-		}
-		return true;
-	}
-
-	protected boolean isSelectionAllApplications() {
-		IStructuredSelection sel = (StructuredSelection) getSelection();
-		Iterator it = sel.iterator();
-		while (it.hasNext()) {
-			Object o = it.next();
-			if (!(o instanceof Application) && !isJ2EEApplicationProject(o))
-				return false;
-		}
-		return true;
-	}
-
-
-	protected List getModules() {
-		if (modules == null) {
-			modules = new ArrayList();
-			IStructuredSelection sel = (StructuredSelection) getSelection();
-			Iterator iterator = sel.iterator();
-			WorkbenchComponent module = null;
-			Object o = null;
-			while (iterator.hasNext()) {
-				o = iterator.next();
-				if (o instanceof WorkbenchComponent) {
-					modules.add(o);
-				} else if (o instanceof EObject) {
-					EObject obj = (EObject) o;
-					IProject project = ProjectUtilities.getProject(obj);
-					StructureEdit moduleCore = null;
-					try {
-						moduleCore = StructureEdit.getStructureEditForRead(project);
-						URI uri = obj.eResource().getURI();
-						ComponentResource[] resources = moduleCore.findResourcesBySourcePath(uri);
-						for (int i=0; i<resources.length; i++) {
-							module = resources[i].getComponent();
-							if (module !=null)
-								break;
-						}
-						if (module == null)
-							throw new RuntimeException(J2EEUIMessages.getResourceString("Project_should_not_be_null_1_ERROR_")); //$NON-NLS-1$
-						modules.add(module);
-					} catch (UnresolveableURIException e) {
-						//Ignore
-					} finally {
-						if (moduleCore !=null)
-							moduleCore.dispose();
-					}
-				} else {
-					throw new RuntimeException(J2EEUIMessages.getResourceString("Non-project_in_selection_2_ERROR_")); //$NON-NLS-1$
-				}
-			}
-		}
-		return modules;
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		try {
-			List localModules = getModules();
-			if (localModules.size() != 1)
-				return;
-			WorkbenchComponent module = (WorkbenchComponent) localModules.get(0);
-			J2EERenameDialog dlg = null;
-
-			// if all we are doing is renaming an EAR, let the base platform do it
-			if (isSelectionAllApplications()) {
-				RenameResourceAction action = new RenameResourceAction(shell);
-				action.selectionChanged(new StructuredSelection(module));
-				action.run();
-			} else {
-				String contextRoot = ""; //$NON-NLS-1$
-				//TODO add context root to the module model
-				//contextRoot = module.getServerContextRoot();
-				dlg = new RenameModuleDialog(shell, module.getName(), contextRoot);
-				dlg.open();
-				if (dlg.getReturnCode() == Window.CANCEL)
-					return;
-
-				options = dlg.getRenameOptions();
-				if (options != null)
-					options.setSelectedProjects(localModules);
-
-				if (!(ensureEditorsSaved() && validateState()))
-					return;
-				renameProjectsIfNecessary();
-				renameMetadataIfNecessary();
-				presentStatusIfNeccessary();
-			}
-		} finally {
-			reset();
-		}
-	}
-
-
-	private boolean ensureEditorsSaved() {
-		return CommonEditorUtility.promptToSaveAllDirtyEditors();
-	}
-
-	protected Set getReferencedProjects() {
-		if (referencedProjects == null)
-			computeReferencedProjects();
-		return referencedProjects;
-	}
-
-	protected void computeReferencedProjects() {
-		getModules();
-		referencedProjects = new HashSet();
-		for (int i = 0; i < modules.size(); i++) {
-			//WorkbenchComponent module = (WorkbenchComponent) modules.get(i);
-			//TODO fix up code here for modules instead of projects
-//			EARNatureRuntime runtime = EARNatureRuntime.getRuntime(project);
-//			if (runtime == null)
-//				continue;
-//			EAREditModel editModel = runtime.getEarEditModelForRead(this);
-//			try {
-//				referencedProjects.addAll(editModel.getModuleMappedProjects());
-//			} finally {
-//				editModel.releaseAccess(this);
-//			}
-		}
-	}
-
-	protected void renameMetadataIfNecessary() {
-		if (!shouldRenameMetaData())
-			return;
-//		RenameModuleOperation op = getRenameModuleOperation();
-//		IRunnableWithProgress runnable = WTPUIPlugin.getRunnableWithProgress(op);
-//		ProgressMonitorDialog monitorDialog = new ProgressMonitorDialog(shell);
-//
-//		try {
-//			monitorDialog.run(false, false, runnable);
-//		} catch (InvocationTargetException e) {
-//			handleException(e);
-//		} catch (InterruptedException e) {
-//			//Ignore
-//		}
-	}
-
-	protected boolean shouldRenameMetaData() {
-		if (renameProjectsFailedOrCancelled())
-			return false;
-
-		return primShouldRenameMetaData();
-	}
-
-	protected boolean renameProjectsFailedOrCancelled() {
-		if (options == null || !options.shouldRenameProjects())
-			return false;
-		return renamedProjectsExist();
-	}
-
-	protected boolean renamedProjectsExist() {
-		List renamedProjects = options.getAllProjectsToRename();
-		for (int i = 0; i < renamedProjects.size(); i++) {
-			IProject project = (IProject) renamedProjects.get(i);
-			if (project.exists())
-				return true;
-		}
-		return false;
-	}
-
-	protected void renameProjectsIfNecessary() {
-		if (options == null || !options.shouldRenameProjects())
-			return;
-		J2EERenameResourceAction action = new J2EERenameResourceAction(shell);
-		action.setNewName(options.getNewName());
-		IStructuredSelection sel = new StructuredSelection(options.getAllProjectsToRename());
-		action.selectionChanged(sel);
-		action.run();
-
-		// only web projects should have a context root
-		String newContextRoot = options.getNewContextRoot();
-		if (newContextRoot != null && options.shouldRenameProjects()) {
-			//WorkbenchComponent module = (WorkbenchComponent) getModules().get(0);
-			try {
-				// TODO add server context root to the module model
-				//module.setServerContextRoot(newContextRoot);		               		
-			} catch (Throwable t) {
-				//Ignore
-			}
-		}
-	}
-
-	public void handleException(InvocationTargetException e) {
-		Logger.getLogger().logError(e);
-		IStatus status = J2EEPlugin.newErrorStatus(IStatus.ERROR, RENAME_ERROR, e);
-		ErrorDialog.openError(shell, RENAME_ERROR, RENAME_NOT_COMPLETED, status);
-	}
-
-	/**
-	 * Update the action's enable state according to the current selection of the used selection
-	 * provider.
-	 */
-	public void update() {
-		IStructuredSelection selection = null;
-
-		if (provider != null) {
-			selection = (IStructuredSelection) provider.getSelection();
-			super.update(selection);
-		} else {
-			selection = (IStructuredSelection) getSelection();
-
-			if (selection == null) {
-				setEnabled(false);
-			} else {
-				updateSelection(selection);
-			}
-		}
-	}
-
-	protected boolean isJ2EEApplicationProject(Object o) {
-		if (o instanceof IProject) {
-			IProject project = (IProject) o;
-			if (J2EEProjectUtilities.isEARProject(project))
-				return true;
-		}
-		return false;
-	}
-
-	protected boolean validateState() {
-		if (!primShouldRenameMetaData())
-			return true;
-
-//		IValidateEditListener listener = new ValidateEditListener(null, getRenameModuleOperation().getRenameEditModel());
-//		listener.setShell(shell);
-//		return listener.validateState().isOK();
-		return false;
-	}
-
-	protected boolean primShouldRenameMetaData() {
-		return options != null && (options.shouldRenameModules() || options.shouldRenameModuleDependencies());
-	}
-
-//	protected RenameModuleOperation getRenameModuleOperation() {
-//		if (renameModuleOperation == null) {
-//			renameModuleOperation = new RenameModuleOperation(options);
-//		}
-//		return renameModuleOperation;
-//	}
-
-	protected void presentStatusIfNeccessary() {
-		IStatus status = null;
-
-//		if (renameModuleOperation != null) {
-//			status = renameModuleOperation.getStatus();
-//		}
-
-		if (status == null || status.isOK())
-			return;
-
-		ErrorDialog.openError(shell, null, null, status, IStatus.ERROR);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java
deleted file mode 100644
index e52b7c6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameParticipant.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Sep 26, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jst.j2ee.internal.dialogs.J2EERenameUIConstants;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-import org.eclipse.wst.common.frameworks.internal.AdaptabilityUtility;
-
-
-/**
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class J2EERenameParticipant extends RenameParticipant {
-
-	private static final Class IPROJECT_CLASS = IProject.class;
-
-	public J2EERenameParticipant() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		if (element == null)
-			return false;
-
-		IProject project = (IProject) AdaptabilityUtility.getAdapter(element, IPROJECT_CLASS);
-		if (project.isAccessible()) {
-			return true;
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		Object[] targetElements = getProcessor().getElements();
-		if (targetElements == null || targetElements.length != 1)
-			return null;
-		IProject project = (IProject) AdaptabilityUtility.getAdapter(targetElements[0], IPROJECT_CLASS);
-		
-		if (project != null)
-			return new J2EEModuleRenameChange(project, getArguments().getNewName(), getArguments().getUpdateReferences());
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		return J2EERenameUIConstants.RENAME;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor,
-	 *      org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) throws OperationCanceledException {
-		return RefactoringStatus.create(Status.OK_STATUS);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameResourceAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameResourceAction.java
deleted file mode 100644
index f927e1c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EERenameResourceAction.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.RenameResourceAction;
-
-public class J2EERenameResourceAction extends RenameResourceAction {
-	String newName = null;
-
-	/**
-	 * Creates a new action. Using this constructor directly will rename using a dialog (if
-	 * necessary) rather than the inline editor of a ResourceNavigator. Note that a rename happens
-	 * on one and only one resource at a time.
-	 * 
-	 * @param shell
-	 *            the shell for any dialogs
-	 */
-	public J2EERenameResourceAction(Shell shell) {
-		super(shell);
-	}
-
-	/**
-	 * Return the new name to be given to the target resource.
-	 * 
-	 * @return java.lang.String
-	 */
-	protected String queryNewResourceName(final IResource resource) {
-		String retVal = null;
-
-		if (newName == null || newName.length() < 1) {
-			retVal = super.queryNewResourceName(resource);
-		} else {
-			retVal = newName;
-		}
-
-		return retVal;
-	}
-
-	/**
-	 * Gets the newName.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getNewName() {
-		return newName;
-	}
-
-	/**
-	 * Sets the newName.
-	 * 
-	 * @param newName
-	 *            The newName to set
-	 */
-	public void setNewName(String newName) {
-		this.newName = newName;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEResourceOpenListener.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEResourceOpenListener.java
deleted file mode 100644
index 2d0657e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/J2EEResourceOpenListener.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 2, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.jface.viewers.IOpenListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.OpenEvent;
-
-/**
- * @author Admin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class J2EEResourceOpenListener implements IOpenListener{
-
-	 private OpenJ2EEResourceAction action;
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IOpenListener#open(org.eclipse.jface.viewers.OpenEvent)
-	 */
-	
-	public void open(OpenEvent anEvent) {
-		ISelection selection = anEvent.getSelection();
-		if (selection instanceof IStructuredSelection) {
-		   
-		    if (getAction().updateSelection((IStructuredSelection)selection))
-		    	action.run();
-		}
-		
-	}
-
-	/**
-	 * @return
-	 */
-	private OpenJ2EEResourceAction getAction() {
-		if (action == null) 
-			action = new OpenJ2EEResourceAction();
-		return action;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewAppClientComponentAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewAppClientComponentAction.java
deleted file mode 100644
index b8a2f7e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewAppClientComponentAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard;
-import org.eclipse.ui.IWorkbench;
-
-
-public class NewAppClientComponentAction extends AbstractOpenWizardWorkbenchAction {
-
-	// TODO MDE 02-28 Find correct label
-	public static String LABEL = J2EEUIMessages.getResourceString("NewApplClientModuleAction_UI_0"); //$NON-NLS-1$
-	private static final String ICON = "new_appclientproject_wiz"; //$NON-NLS-1$
-
-	public NewAppClientComponentAction() {
-		setText(LABEL);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	public NewAppClientComponentAction(IWorkbench workbench, String label, Class[] acceptedTypes) {
-		super(workbench, label, acceptedTypes, false);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	protected Wizard createWizard() {
-		return new AppClientProjectWizard();
-	}
-
-	protected boolean shouldAcceptElement(Object obj) {
-		return true; /* NewGroup.isOnBuildPath(obj) && !NewGroup.isInArchive(obj); */
-	}
-
-	protected String getDialogText() {
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewEARComponentAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewEARComponentAction.java
deleted file mode 100644
index 3c96cb2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewEARComponentAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard;
-import org.eclipse.ui.IWorkbench;
-
-
-public class NewEARComponentAction extends AbstractOpenWizardWorkbenchAction {
-	// TODO MDE 02-28 Find correct label
-	public static String LABEL = J2EEUIMessages.getResourceString("NewEARModuleAction_UI_0"); //$NON-NLS-1$
-	private static final String ICON = "newear_wiz"; //$NON-NLS-1$
-
-	public NewEARComponentAction() {
-		setText(LABEL);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	public NewEARComponentAction(IWorkbench workbench, String label, Class[] acceptedTypes) {
-		super(workbench, label, acceptedTypes, false);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	protected Wizard createWizard() {
-		return new EarProjectWizard();
-	}
-
-	protected boolean shouldAcceptElement(Object obj) {
-		return true; /* NewGroup.isOnBuildPath(obj) && !NewGroup.isInArchive(obj); */
-	}
-
-	protected String getDialogText() {
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEArtifactDropDownAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEArtifactDropDownAction.java
deleted file mode 100644
index f92be5c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEArtifactDropDownAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kaloyan Raev, kaloyan.raev@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-
-
-/**
- * A wizard is added to the "New Java EE Artifact" drop down if it has a parameter 'javaeeartifact':
- *     <wizard
- *         name="My Java EE Project Wizard"
- *         icon="icons/wiz.gif"
- *         category="mycategory"
- *         id="xx.MyWizard">
- *         <class class="org.xx.MyWizard">
- *             <parameter name="javaeeartifact" value="true"/>
- *         </class> 
- *         <description>
- *             My Wizard
- *         </description>
- *      </wizard>
- */
-public class NewJavaEEArtifactDropDownAction extends NewJavaEEDropDownAction implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-	
-	private final static String ATT_JAVAEEARTIFACT = "javaeeartifact";//$NON-NLS-1$
-
-	@Override
-	protected String getTypeAttribute() {
-		return ATT_JAVAEEARTIFACT;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEDropDownAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEDropDownAction.java
deleted file mode 100644
index 67d9f3e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEDropDownAction.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kaloyan Raev, kaloyan.raev@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.internal.ui.util.CoreUtility;
-import org.eclipse.jdt.internal.ui.util.PixelConverter;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-import org.eclipse.ui.PlatformUI;
-
-public abstract class NewJavaEEDropDownAction extends Action implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-
-	public static class NewJavaEEWizardAction extends Action implements Comparable {
-
-		private final static String ATT_NAME = "name";//$NON-NLS-1$
-		private final static String ATT_CLASS = "class";//$NON-NLS-1$
-		private final static String ATT_ICON = "icon";//$NON-NLS-1$
-		private final static String TAG_DESCRIPTION = "description";	//$NON-NLS-1$
-
-		private Shell fShell;
-		private IStructuredSelection fSelection;
-		private IConfigurationElement fConfigurationElement;
-		
-		private int menuIndex;
-
-		public NewJavaEEWizardAction(IConfigurationElement element) {
-			fConfigurationElement= element;
-			setText(element.getAttribute(ATT_NAME));
-			
-			String description = getDescriptionFromConfig(fConfigurationElement);
-			setDescription(description);
-			setToolTipText(description);
-			setImageDescriptor(getIconFromConfig(fConfigurationElement));
-			setMenuIndex(getMenuIndexFromConfig(fConfigurationElement));
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.action.Action#run()
-		 */
-		public void run() {
-			Shell shell = getShell();
-			try {
-				INewWizard wizard = createWizard();
-				wizard.init(PlatformUI.getWorkbench(), getSelection());
-				
-				WizardDialog dialog = new WizardDialog(shell, wizard);
-				PixelConverter converter = new PixelConverter(JFaceResources.getDialogFont());
-				dialog.setMinimumPageSize(converter.convertWidthInCharsToPixels(70), converter.convertHeightInCharsToPixels(20));
-				dialog.create();
-				int res = dialog.open();
-				
-				notifyResult(res == Window.OK);
-			} catch (CoreException e) {
-				Logger.getLogger().log(e);
-			}
-		}
-		
-		/**
-		 * Returns the configured selection. If no selection has been configured using {@link #setSelection(IStructuredSelection)},
-		 * the currently selected element of the active workbench is returned.
-		 * @return the configured selection
-		 */
-		protected IStructuredSelection getSelection() {
-			if (fSelection == null) {
-				return evaluateCurrentSelection();
-			}
-			return fSelection;
-		}
-		
-		private IStructuredSelection evaluateCurrentSelection() {
-			IWorkbenchWindow window = J2EEUIPlugin.getActiveWorkbenchWindow();
-			if (window != null) {
-				ISelection selection = window.getSelectionService().getSelection();
-				if (selection instanceof IStructuredSelection) {
-					return (IStructuredSelection) selection;
-				}
-			}
-			return StructuredSelection.EMPTY;
-		}
-		
-		/**
-		 * Configures the selection to be used as initial selection of the wizard. 
-		 * @param selection the selection to be set or <code>null</code> to use the selection of the active workbench window
-		 */
-		public void setSelection(IStructuredSelection selection) {
-			fSelection = selection;
-		}
-		
-		/**
-		 * Returns the configured shell. If no shell has been configured using {@link #setShell(Shell)},
-		 * 	the shell of the currently active workbench is returned.
-		 * @return the configured shell
-		 */
-		protected Shell getShell() {
-			if (fShell == null) {
-				return J2EEUIPlugin.getActiveWorkbenchShell();
-			}
-			return fShell;
-		}
-		
-		/**
-		 * Configures the shell to be used as parent shell by the wizard.
-		 * @param shell the shell to be set or <code>null</code> to use the shell of the active workbench window
-		 */
-		public void setShell(Shell shell) {
-			fShell = shell;
-		}
-		
-		private String getDescriptionFromConfig(IConfigurationElement config) {
-			IConfigurationElement [] children = config.getChildren(TAG_DESCRIPTION);
-			if (children.length >= 1) {
-				return children[0].getValue();
-			}
-			return ""; //$NON-NLS-1$
-		}
-
-		private ImageDescriptor getIconFromConfig(IConfigurationElement config) {
-			String iconName = config.getAttribute(ATT_ICON);
-			if (iconName != null) {
-				return J2EEUIPlugin.imageDescriptorFromPlugin(config.getContributor().getName(), iconName);
-			}
-			return null;
-		}
-		
-		private int getMenuIndexFromConfig(IConfigurationElement config) {
-			IConfigurationElement[] classElements = config.getChildren(TAG_CLASS);
-			if (classElements.length > 0) {
-				for (IConfigurationElement classElement : classElements) {
-					IConfigurationElement[] paramElements = classElement.getChildren(TAG_PARAMETER);
-					for (IConfigurationElement paramElement : paramElements) {
-						if (ATT_MENUINDEX.equals(paramElement.getAttribute(TAG_NAME))) {
-							return Integer.parseInt(paramElement.getAttribute(TAG_VALUE));
-						}
-					}
-				}
-			}
-			return Integer.MAX_VALUE;
-		}
-		
-		protected INewWizard createWizard() throws CoreException {
-			return (INewWizard) CoreUtility.createExtension(fConfigurationElement, ATT_CLASS);
-		}
-
-		public int getMenuIndex() {
-			return menuIndex;
-		}
-
-		public void setMenuIndex(int menuIndex) {
-			this.menuIndex = menuIndex;
-		}
-
-		public int compareTo(Object o) {
-			NewJavaEEWizardAction action = (NewJavaEEWizardAction) o;
-			return getMenuIndex() - action.getMenuIndex();
-		}
-	}
-	
-	protected final static String TAG_WIZARD = "wizard";//$NON-NLS-1$
-	protected final static String TAG_PARAMETER = "parameter";//$NON-NLS-1$
-	protected final static String TAG_NAME = "name";//$NON-NLS-1$
-	protected final static String TAG_VALUE = "value";//$NON-NLS-1$
-	protected final static String TAG_CLASS = "class"; //$NON-NLS-1$
-	protected final static String ATT_MENUINDEX = "menuIndex";//$NON-NLS-1$
-	protected final static String PL_NEW = "newWizards"; //$NON-NLS-1$
-	
-	protected Menu fMenu;
-	
-	protected Shell fWizardShell;
-	
-	public NewJavaEEDropDownAction() {
-		fMenu = null;
-		setMenuCreator(this);
-	}
-
-	public void dispose() {
-		if (fMenu != null) {
-			fMenu.dispose();
-			fMenu = null;
-		}
-	}
-
-	public Menu getMenu(Menu parent) {
-		return null;
-	}
-
-	public Menu getMenu(Control parent) {
-		if (fMenu == null) {
-			fMenu = new Menu(parent);
-			NewJavaEEWizardAction[] actions = getActionFromDescriptors();
-			for (NewJavaEEWizardAction action : actions) {
-				action.setShell(fWizardShell);
-				ActionContributionItem item = new ActionContributionItem(action);
-				item.fill(fMenu, -1);
-			}			
-		}
-		return fMenu;
-	}
-	
-	public void run() {
-		getDefaultAction().run();
-	}
-	
-	public Action getDefaultAction() {
-		Action[] actions = getActionFromDescriptors();
-		if (actions.length > 0)
-			return actions[0];
-		return null;
-	}
-	
-	public NewJavaEEWizardAction[] getActionFromDescriptors() {
-		ArrayList<NewJavaEEWizardAction> containers = new ArrayList<NewJavaEEWizardAction>();
-		
-		IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(PlatformUI.PLUGIN_ID, PL_NEW);
-		if (extensionPoint != null) {
-			IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
-			for (IConfigurationElement element : elements) {
-				if (element.getName().equals(TAG_WIZARD) && isJavaEEProjectWizard(element)) {
-					containers.add(new NewJavaEEWizardAction(element));
-				}
-			}
-		}
-		
-		NewJavaEEWizardAction[] actions = (NewJavaEEWizardAction[]) containers.toArray(new NewJavaEEWizardAction[containers.size()]);
-		Arrays.sort(actions);
-		return actions; 
-	}
-		
-	protected boolean isJavaEEProjectWizard(IConfigurationElement element) {
-		IConfigurationElement[] classElements = element.getChildren(TAG_CLASS);
-		if (classElements.length > 0) {
-			for (IConfigurationElement classElement : classElements) {
-				IConfigurationElement[] paramElements = classElement.getChildren(TAG_PARAMETER);
-				for (IConfigurationElement paramElement : paramElements) {
-					if (getTypeAttribute().equals(paramElement.getAttribute(TAG_NAME))) {
-						return Boolean.valueOf(paramElement.getAttribute(TAG_VALUE)).booleanValue();
-					}
-				}
-			}
-		}
-		// old way, deprecated
-		if (Boolean.valueOf(element.getAttribute(getTypeAttribute())).booleanValue()) {
-			return true;
-		}
-		return false;
-	}
-		
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		fWizardShell = window.getShell();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		run();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		
-	}
-	
-	protected abstract String getTypeAttribute();
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEProjectDropDownAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEProjectDropDownAction.java
deleted file mode 100644
index 490cdaf..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/NewJavaEEProjectDropDownAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Kaloyan Raev, kaloyan.raev@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
-
-
-/**
- * A wizard is added to the "New Java EE Project" drop down if it has a parameter 'javaeeproject':
- *     <wizard
- *         name="My Java EE Project Wizard"
- *         icon="icons/wiz.gif"
- *         category="mycategory"
- *         id="xx.MyWizard">
- *         <class class="org.xx.MyWizard">
- *             <parameter name="javaeeproject" value="true"/>
- *         </class> 
- *         <description>
- *             My Wizard
- *         </description>
- *      </wizard>
- */
-public class NewJavaEEProjectDropDownAction extends NewJavaEEDropDownAction implements IMenuCreator, IWorkbenchWindowPulldownDelegate2 {
-	
-	private final static String ATT_JAVAEEPROJECT = "javaeeproject";//$NON-NLS-1$
-
-	@Override
-	protected String getTypeAttribute() {
-		return ATT_JAVAEEPROJECT;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java
deleted file mode 100644
index 11989fa..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/OpenJ2EEResourceAction.java
+++ /dev/null
@@ -1,444 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.actions;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.componentcore.util.EJBArtifactEdit;
-import org.eclipse.jst.j2ee.internal.archive.JavaEEArchiveUtilities;
-import org.eclipse.jst.j2ee.internal.componentcore.ComponentArchiveOptions;
-import org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper;
-import org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper;
-import org.eclipse.jst.j2ee.internal.plugin.BinaryEditorUtilities;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEEditorUtility;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.jca.Connector;
-import org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.j2ee.webservice.wsdd.BeanLink;
-import org.eclipse.jst.j2ee.webservice.wsdd.EJBLink;
-import org.eclipse.jst.j2ee.webservice.wsdd.ServletLink;
-import org.eclipse.jst.jee.archive.IArchive;
-import org.eclipse.jst.jee.archive.IArchiveResource;
-import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.ISetSelectionTarget;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-
-/**
- * Action for opening a J2EE resource from the J2EE navigator.
- */
-public class OpenJ2EEResourceAction extends AbstractOpenAction {
-	
-	public static final String ID = "org.eclipse.jst.j2ee.internal.internal.ui.actions.OpenJ2EEResourceAction"; //$NON-NLS-1$
-	public static final String JAVA_EDITOR_ID = "org.eclipse.jst.j2ee.internal.internal.ejb.ui.java.EnterpriseBeanJavaEditor"; //$NON-NLS-1$
-	public static final String BASE_JAVA_EDITOR_ID = "org.eclipse.jdt.ui.CompilationUnitEditor"; //$NON-NLS-1$
-	
-	protected static IEditorDescriptor javaEditorDescriptor;
-	protected static IEditorDescriptor baseJavaEditorDescriptor;
-
-	/**
-	 * Create an instance of this class
-	 */
-	public OpenJ2EEResourceAction() {
-		super("Open"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the action ID.
-	 */
-	public String getID() {
-		return ID;
-	}
-
-	public static IEditorDescriptor getJavaEditorDescriptor() {
-		if (javaEditorDescriptor == null)
-			javaEditorDescriptor = findEditorDescriptor(JAVA_EDITOR_ID);
-		return javaEditorDescriptor;
-	}
-
-	public static IEditorDescriptor getBaseJavaEditorDescriptor() {
-		if (baseJavaEditorDescriptor == null)
-			baseJavaEditorDescriptor = findEditorDescriptor(BASE_JAVA_EDITOR_ID);
-		return baseJavaEditorDescriptor;
-	}
-	
-	protected void openAppropriateEditor(IVirtualComponent c){
-		if (c == null){
-			return;
-		}
-		IWorkbenchPage page = null;
-		IEditorPart editor = null;
-		try {
-			page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-			
-			IEditorInput editorInput = null;
-			
-			//[Bug 237794] if component c is a JEE 5 archive then editorInput needs to be a BinaryEditorInput
-			if (c instanceof VirtualArchiveComponent) {
-				JavaEEQuickPeek qp = JavaEEBinaryComponentHelper.getJavaEEQuickPeek(c);
-				//[Bug 239440] because Connectors are opened with the basic XML editor and not a specialized editor they need binary editor input
-				if( qp.getJavaEEVersion() == JavaEEQuickPeek.JEE_5_0_ID || qp.getType() == JavaEEQuickPeek.CONNECTOR_TYPE) {
-					String path = ((EObject)srcObject).eResource().getURI().toString();
-					editorInput = BinaryEditorUtilities.getBinaryEditorInput((VirtualArchiveComponent)c, path);
-				}
-			} 
-			
-			//this is for all other cases
-			if(editorInput == null) {
-				editorInput = new ComponentEditorInput(c);
-			}
-			
-			editor = page.openEditor(editorInput, currentDescriptor.getId());
-			if (editor instanceof ISetSelectionTarget)
-				((ISetSelectionTarget) editor).selectReveal(getStructuredSelection());
-		} catch (Exception e) {
-			MessageDialog.openError(page.getWorkbenchWindow().getShell(), J2EEUIMessages.getResourceString("Problems_Opening_Editor_ERROR_"), e.getMessage()); //$NON-NLS-1$ = "Problems Opening Editor"
-		}
-	}
-	
-	
-	/**
-	 * open the appropriate editor
-	 */
-	protected void openAppropriateEditor(IResource r) {
-		if (r == null)
-			return;
-		IWorkbenchPage page = null;
-		IEditorPart editor = null;
-		try {
-			page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-			editor = page.openEditor(new FileEditorInput((IFile) r), currentDescriptor.getId());
-			if (editor instanceof ISetSelectionTarget)
-				((ISetSelectionTarget) editor).selectReveal(getStructuredSelection());
-		} catch (Exception e) {
-			MessageDialog.openError(page.getWorkbenchWindow().getShell(), J2EEUIMessages.getResourceString("Problems_Opening_Editor_ERROR_"), e.getMessage()); //$NON-NLS-1$ = "Problems Opening Editor"
-		}
-	}
-	
-	/**
-	 * The user has invoked this action
-	 */
-	public void run() {
-		if (!isEnabled())
-			return;
-		
-		if (srcObject instanceof J2EEJavaClassProviderHelper) {
-			((J2EEJavaClassProviderHelper) srcObject).openInEditor();
-			return;
-		}
-		
-		if( isEJB3BeanObject(srcObject) ){
-			String name = ""; //$NON-NLS-1$
-			if( srcObject instanceof org.eclipse.jst.javaee.ejb.SessionBean ){
-				org.eclipse.jst.javaee.ejb.SessionBean bean = (org.eclipse.jst.javaee.ejb.SessionBean)srcObject;
-				name = bean.getEjbClass();
-			}else if(srcObject instanceof org.eclipse.jst.javaee.ejb.MessageDrivenBean){
-				org.eclipse.jst.javaee.ejb.MessageDrivenBean  bean = (org.eclipse.jst.javaee.ejb.MessageDrivenBean)srcObject;
-				name = bean.getEjbClass();
-			}else if(srcObject instanceof org.eclipse.jst.javaee.ejb.EntityBean){
-				org.eclipse.jst.javaee.ejb.EntityBean bean = (org.eclipse.jst.javaee.ejb.EntityBean)srcObject;
-				name = bean.getEjbClass();
-			}
-
-			IResource resource = WorkbenchResourceHelper.getFile((EObject)srcObject);
-			IProject project = resource.getProject();
-			IJavaProject javaProject = JavaCore.create(project);
-			if(javaProject.exists()){
-				IType type = null;
-				try {
-					//if name is null then can't get type
-					if(name != null) {
-						type = javaProject.findType( name );
-					}
-					
-					//if type is null then can't open its editor, so open editor for the resource
-					if(type != null) {
-						ICompilationUnit cu = type.getCompilationUnit();
-						EditorUtility.openInEditor(cu);
-					} else{
-						openAppropriateEditor(resource);
-					}
-				} catch (JavaModelException e) {
-					J2EEUIPlugin.logError(-1, e.getMessage(), e);
-				} catch (PartInitException e) {
-					J2EEUIPlugin.logError(-1, e.getMessage(), e);
-				}
-
-			}
-			return;
-		}
-		
-		if (srcObject instanceof EObject) {
-			EObject ro = (EObject) srcObject;
-			IProject p = ProjectUtilities.getProject(ro);
-			
-			if (ro instanceof BeanLink) {
-				openBeanLinkInJavaEditor((BeanLink) ro, p);
-				return;
-			}
-			IResource resource = WorkbenchResourceHelper.getFile((EObject)srcObject);
-			if(resource != null && resource.exists()){
-				openAppropriateEditor(resource);
-			} else if(ro.eResource() != null) {
-				ModuleFile moduleFile = ArchiveUtil.getModuleFile(ro);
-				if (moduleFile != null) {
-					ArchiveOptions options = moduleFile.getOptions();
-					if(options instanceof ComponentArchiveOptions) {
-						IVirtualComponent component = ((ComponentArchiveOptions)options).getComponent();
-						openAppropriateEditor(component);
-					}
-				} else {
-					//if can't get a ModuleFile then get the component from the archive
-					IArchive archive = JavaEEArchiveUtilities.findArchive(ro);
-					if(archive != null) {
-						IVirtualComponent component = JavaEEArchiveUtilities.findComponent(archive);
-						if(component != null){
-							openAppropriateEditor(component);
-						}
-					}
-				}
-			}
-		} else if (srcObject instanceof Resource) {
-			openAppropriateEditor(WorkbenchResourceHelper.getFile((Resource)srcObject));
-		}
-	}
-
-	/**
-	 * The structured selection has changed in the workbench. Subclasses should override this method
-	 * to react to the change. Returns true if the action should be enabled for this selection, and
-	 * false otherwise.
-	 * 
-	 * When this method is overridden, the super method must always be invoked. If the super method
-	 * returns false, this method must also return false.
-	 * 
-	 * @param sel the new structured selection
-	 */
-	public boolean updateSelection(IStructuredSelection s) {
-		if (!super.updateSelection(s))
-			return false;
-
-		// Make sure this is one of the selections we can handle,
-		// then set the source object as is. The run() will do the hard stuff.
-		Object obj = s.getFirstElement();
-
-		if (obj instanceof J2EEJavaClassProviderHelper) {
-			currentDescriptor = getJavaEditorDescriptor();
-		} else if (obj instanceof BeanLink) {
-			currentDescriptor = getBaseJavaEditorDescriptor();	
-		} else if(isEJB3BeanObject(obj)) {
-			//[241685] if it is a EJB 3 bean the class is specially opened by the run() method
-		} else if (obj instanceof EObject) {
-			IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();
-			IFile file = WorkbenchResourceHelper.getFile((EObject)obj);
-			if(file != null) {
-				/*[235218] if 'obj' is a JavaEE DD file it can only be opened if the file exists
-				 *	if 'obj' is not a DD file, the WorkbenchResourceHelper may still return the DD
-				 *	as the associated file (such as in the case with Beans), thus we must try to get
-				 *	the default editor if 'obj' is not a JavaEE DD file.
-				 */
-				boolean isJavaEEDDFile = isJavaEEDDFile((EObject)obj);
-				boolean isParentJavaEEDDFile = isJavaEEDDFile(getRootObject(obj));
-				//[241685] if file is a DD or its containing parent is a DD then it is open-able as a DD
-				if((isJavaEEDDFile && file.exists()) || (isParentJavaEEDDFile && file.exists())){
-					IContentType contentType = IDE.getContentType(file);
-					currentDescriptor = registry.getDefaultEditor(file.getName(), contentType);
-				} else {
-					currentDescriptor = null;
-					return false;
-				}
-			}  else if (((EObject)obj).eResource() != null) {
-				//[Bug 237794] if the file is null then it maybe a binary resource in an archive
-				//	attempt to get the resource from the archive and the content type from that
-				EObject eObj = (EObject) obj;
-				IArchive archive = JavaEEArchiveUtilities.findArchive(eObj);
-				if(archive != null) {
-					IPath path = new Path(((EObject)obj).eResource().getURI().toString());
-					if(archive.containsArchiveResource(path)) {
-						InputStream stream = null;
-						try {
-							IArchiveResource resource = archive.getArchiveResource(path);
-							stream = resource.getInputStream();
-							IContentType type = Platform.getContentTypeManager().findContentTypeFor(stream, path.lastSegment());
-							currentDescriptor = registry.getDefaultEditor(path.lastSegment(),type);
-						} catch (FileNotFoundException e) {
-							J2EEUIPlugin.logError(-1, e.getMessage(), e);
-						} catch (IOException e) {
-							J2EEUIPlugin.logError(-1, e.getMessage(), e);
-						} finally {
-							if(stream != null) {
-								try {
-									stream.close();
-								} catch (IOException e) {
-									J2EEUIPlugin.logError(-1, e.getMessage(), e);
-								}
-							}
-						}
-						
-					}
-				}
-			}
-		}
-		else if (obj instanceof Resource) {
-			IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();
-			IFile file = WorkbenchResourceHelper.getFile((Resource)obj);
-			IContentType contentType = IDE.getContentType(file);
-			currentDescriptor = registry.getDefaultEditor(file.getName(), contentType);
-		}
-		else {
-			currentDescriptor = null;
-			return false;
-		}
-		setAttributesFromDescriptor();
-		srcObject = obj;
-		return true;
-	}
-	
-	/**
-	 * @param link
-	 */
-	private void openBeanLinkInJavaEditor(BeanLink link, IProject p) {
-		String linkName = null;
-		JavaClass javaClass = null;
-		IVirtualComponent comp = ComponentUtilities.findComponent(link);
-		// Handle EJB Link case
-		if (link instanceof EJBLink) {
-			linkName = ((EJBLink) link).getEjbLink();
-			EJBArtifactEdit artifactEdit = null;
-			try {
-				artifactEdit = EJBArtifactEdit.getEJBArtifactEditForRead(comp);
-				EJBJar ejbJar = artifactEdit.getEJBJar();
-				if (ejbJar == null)
-					return;
-				EnterpriseBean bean = ejbJar.getEnterpriseBeanNamed(linkName);
-				if (bean == null)
-					return;
-				javaClass = bean.getEjbClass();
-			} finally {
-				if (artifactEdit!=null)
-					artifactEdit.dispose();
-			}
-		}
-		// Handle Servlet Link case
-		else {
-			linkName = ((ServletLink) link).getServletLink();
-			WebArtifactEdit artifactEdit = null;
-			try {
-				artifactEdit = WebArtifactEdit.getWebArtifactEditForRead(comp);
-				WebApp webApp = artifactEdit.getWebApp();
-			if (webApp == null)
-				return;
-			Servlet servlet = webApp.getServletNamed(linkName);
-			if (servlet == null)
-				return;
-			javaClass = servlet.getServletClass();
-			} finally {
-				if (artifactEdit!=null)
-					artifactEdit.dispose();
-			}
-		}
-		// Open java editor on the selected objects associated java file
-		try {
-			J2EEEditorUtility.openInEditor(javaClass, p);
-		} catch (Exception cantOpen) {
-			J2EEUIPlugin.logError(-1, cantOpen.getMessage(), cantOpen);
-		}
-	}
-
-	protected EObject getRootObject(Object obj) {
-		if (obj instanceof EObject) {
-			EObject refObj = (EObject) obj;
-			while (refObj != null && refObj.eContainer() != null)
-				refObj = refObj.eContainer();
-			return refObj;
-		}
-		return null;
-	}
-	
-	/**
-	 * Determine if the given EObject is a JavaEE DD
-	 * [235218] first added
-	 * [241685] Updated to include both pre and post JavaEE 5 DDs
-	 * @param obj
-	 * @return
-	 */
-	private boolean isJavaEEDDFile(EObject obj){
-		boolean isDD =
-			obj instanceof org.eclipse.jst.javaee.ejb.EJBJar ||
-			obj instanceof org.eclipse.jst.javaee.web.WebApp ||
-			obj instanceof org.eclipse.jst.javaee.applicationclient.ApplicationClient ||
-			obj instanceof org.eclipse.jst.javaee.application.Application ||
-			obj instanceof EJBJar ||
-			obj instanceof WebApp ||
-			obj instanceof ApplicationClient ||
-			obj instanceof Connector ||
-			obj instanceof Application;
-		return isDD;
-	}
-	
-	/**
-	 * Determines if the given object is a EJB 3 Bean
-	 * [241685] first added
-	 * 
-	 * @param obj determine weather this object is an EJB 3 bean or not
-	 * @return true if obj is a EJB 3 bean, false otherwise
-	 */
-	private boolean isEJB3BeanObject(Object obj) {
-		boolean isBean =
-			obj instanceof org.eclipse.jst.javaee.ejb.SessionBean ||
-			obj instanceof org.eclipse.jst.javaee.ejb.MessageDrivenBean ||
-			obj instanceof org.eclipse.jst.javaee.ejb.EntityBean;
-		
-		return isBean;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WTPBaseAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WTPBaseAction.java
deleted file mode 100644
index 5433410..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WTPBaseAction.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jul 7, 2004
- * 
- * TODO To change the template for this generated file go to Window - Preferences - Java - Code
- * Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.internal.plugin.ErrorDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-
-public abstract class WTPBaseAction extends Action implements IActionDelegate2 {
-	private final static String ERROR_OCCURRED_TITLE = J2EEUIMessages.getResourceString("ERROR_OCCURRED_TITLE"); //$NON-NLS-1$
-	private final static String ERROR_OCCURRED_MESSAGE = J2EEUIMessages.getResourceString("ERROR_OCCURRED_MESSAGE"); //$NON-NLS-1$
-
-	protected IStructuredSelection selection = null;
-
-	protected IWorkbenchWindow getWorkbenchWindow() {
-		return J2EEUIPlugin.getPluginWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public void setSelection(IStructuredSelection selection) {
-		this.selection = selection;
-	}
-
-	public void run() {
-		Shell shell = getWorkbenchWindow().getShell();
-		if (null == selection) {
-			ISelection autoselection = getWorkbenchWindow().getSelectionService().getSelection();
-			if (autoselection instanceof IStructuredSelection)
-				this.selection = (IStructuredSelection) autoselection;
-		}
-
-		try {
-			primRun(shell);
-			this.selection = null;
-		} catch (Throwable t) {
-			ErrorDialog.openError(shell, ERROR_OCCURRED_TITLE, ERROR_OCCURRED_MESSAGE, t, 0, false);
-		}
-
-	}
-
-	protected abstract void primRun(Shell shell);
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-		//dispose
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		//init
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection aSelection) {
-		setSelection((IStructuredSelection) aSelection);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run();
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		run();
-	}
-
-	/**
-	 * @return Returns the selection.
-	 */
-	protected IStructuredSelection getSelection() {
-		return selection;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WorkspaceModifyComposedOperation.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WorkspaceModifyComposedOperation.java
deleted file mode 100644
index ec3fac9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/actions/WorkspaceModifyComposedOperation.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.actions;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-
-/**
- * WARNING: This class will be deleted
- * 
- * @deprecated use {@link org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation}
- */
-public class WorkspaceModifyComposedOperation extends org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation {
-	public WorkspaceModifyComposedOperation(ISchedulingRule rule) {
-		super(rule);
-	}
-
-	public WorkspaceModifyComposedOperation() {
-		super();
-	}
-
-	public WorkspaceModifyComposedOperation(ISchedulingRule rule, List nestedRunnablesWithProgress) {
-		super(rule, nestedRunnablesWithProgress);
-	}
-
-	public WorkspaceModifyComposedOperation(List nestedRunnablesWithProgress) {
-		super(nestedRunnablesWithProgress);
-	}
-
-	public WorkspaceModifyComposedOperation(IRunnableWithProgress nestedOp) {
-		super(nestedOp);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyAttributeConfiguration.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyAttributeConfiguration.java
deleted file mode 100644
index 3daf2e3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyAttributeConfiguration.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     rfrost@bea.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.classpathdep.ui;
-
-import java.net.URL;
-
-
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-
-public class ClasspathDependencyAttributeConfiguration extends ClasspathAttributeConfiguration {
-
-	private static ImageDescriptor descriptor = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#canEdit(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public boolean canEdit(ClasspathAttributeAccess attribute) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#canRemove(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public boolean canRemove(ClasspathAttributeAccess attribute) {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#getImageDescriptor(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public ImageDescriptor getImageDescriptor(ClasspathAttributeAccess attribute) {
-		if (descriptor == null) {
-			final URL gifImageURL = (URL) J2EEPlugin.getPlugin().getImage("CPDep"); //$NON-NLS-1$
-			if (gifImageURL != null) {
-				descriptor = ImageDescriptor.createFromURL(gifImageURL);
-			}
-		}
-		return descriptor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#getNameLabel(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public String getNameLabel(ClasspathAttributeAccess attribute) {
-		return Resources.nameLabel;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#getValueLabel(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public String getValueLabel(ClasspathAttributeAccess attribute) {
-		final IClasspathAttribute attrib = attribute.getClasspathAttribute();
-		if (attrib != null) {
-			final String value = attrib.getValue();
-			if (value != null) {
-				if (value.equals(IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_CONTAINER)) {
-					return Resources.containerMapping;
-				}
-				return value;
-			}
-		}
-		return Resources.unspecified;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#performEdit(org.eclipse.swt.widgets.Shell, org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public IClasspathAttribute performEdit(Shell shell,
-			ClasspathAttributeAccess attribute) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#performRemove(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public IClasspathAttribute performRemove(ClasspathAttributeAccess attribute) {
-		return JavaCore.newClasspathAttribute(IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY, null);
-	}
-
-	private static final class Resources extends NLS {
-        public static String nameLabel;
-        public static String unspecified;
-        public static String containerMapping;
-        static
-        {
-            initializeMessages( ClasspathDependencyAttributeConfiguration.class.getName(), 
-                                Resources.class );
-        }
-    }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyAttributeConfiguration.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyAttributeConfiguration.properties
deleted file mode 100644
index 3f050ff..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyAttributeConfiguration.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 BEA Systems, Inc.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     rfrost@bea.com - initial API and implementation
-###############################################################################
-nameLabel = Publish/export dependency
-unspecified = (None)
-containerMapping = Added to parent module
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyValidatorMarkerResolutions.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyValidatorMarkerResolutions.java
deleted file mode 100644
index 3d0a778..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyValidatorMarkerResolutions.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2007 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    rfrost@bea.com - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.classpathdep.ui;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jst.j2ee.classpathdep.UpdateClasspathAttributeUtil;
-import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.wst.validation.internal.ConfigurationConstants;
-
-/**
- * IMarkerResolutionGenerator for classpath dependency validator problem markers. 
- */
-public final class ClasspathDependencyValidatorMarkerResolutions implements IMarkerResolutionGenerator {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolutionGenerator#getResolutions(org.eclipse.core.resources.IMarker)
-	 */
-	public IMarkerResolution[] getResolutions(final IMarker marker) {
-		// generate resolutions based on type of validation problem marker
-		String messageId = null;
-		String cpEntryPath = null;
-		try {
-			messageId = (String) marker.getAttribute(ConfigurationConstants.VALIDATION_MARKER_MESSAGEID);
-			cpEntryPath = (String) marker.getAttribute(ConfigurationConstants.VALIDATION_MARKER_GROUP);
-		} catch (CoreException ce) {
-			Logger.getLogger(J2EEUIPlugin.PLUGIN_ID).logError(ce);
-			return new IMarkerResolution[0];
-		}
-		
-		if (messageId == null || cpEntryPath == null || cpEntryPath.length() == 0) {
-			return new IMarkerResolution[0];
-		}
-		
-		if (ClasspathDependencyValidator.AppClientProject.equals(messageId)) {
-			// can apply to multiple cp entries so not currently supporting a quick fix...
-		} else if (ClasspathDependencyValidator.DuplicateClassFolderEntry.equals(messageId)) {
-			// quick fix removes the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, false) };			
-		} else if (ClasspathDependencyValidator.DuplicateArchiveName.equals(messageId)) {
-			// quick fix removes the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, false) };			
-		} else if (ClasspathDependencyValidator.FilteredContainer.equals(messageId)) {
-			// quick fix removes the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, false) };			
-		} else if (ClasspathDependencyValidator.InvalidNonWebRuntimePath.equals(messageId)) {
-			// quick fix removes the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, false) };			
-		} else if (ClasspathDependencyValidator.InvalidWebRuntimePath.equals(messageId)) {
-			// quick fix removes the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, false) };			
-		} else if (ClasspathDependencyValidator.NonTaggedExportedClasses.equals(messageId)) {
-			// quick fix adds the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, true),
-					new AddClasspathNonDependencyAttributeResolution(cpEntryPath)};	
-		} else if (ClasspathDependencyValidator.ProjectClasspathEntry.equals(messageId)) {
-			// quick fix removes the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, false) };	
-		} else if (ClasspathDependencyValidator.RootMappingNonEARWARRef.equals(messageId)) {
-			// can apply to multiple cp entries so not currently supporting a quick fix...
-		} else if (ClasspathDependencyValidator.SourceEntry.equals(messageId)) {
-			// quick fix removes the dependency
-			return new IMarkerResolution[] { new UpdateClasspathDependencyAttributeResolution(cpEntryPath, false) };	
-		}
-		
-		return new IMarkerResolution[0];
-    }
-	
-    private static IClasspathEntry getClasspathEntryForMarker(final IMarker marker, final String cpEntryPath) throws CoreException {
-	    final IProject proj = marker.getResource().getProject();
-		if (proj != null && proj.hasNature(JavaCore.NATURE_ID)) {
-			final IJavaProject jProject = JavaCore.create(proj);
-			if (cpEntryPath != null) {
-				IClasspathEntry[] rawCp = jProject.getRawClasspath();
-				for (int i = 0; i < rawCp.length; i++) {
-					if (rawCp[i].getPath().toString().equals(cpEntryPath)) {
-						return rawCp[i];
-					}
-				}
-			}
-    	}
-    	return null;
-    }
-	
-	/* Resolution that add/removes the classpath dependency attribute */
-    private static final class UpdateClasspathDependencyAttributeResolution implements IMarkerResolution {
-        private final boolean add;
-        private final String cpEntryPath;
-        public UpdateClasspathDependencyAttributeResolution(final String cpEntryPath, final boolean add) {
-            this.add = add;
-            this.cpEntryPath = cpEntryPath;
-        }
-        
-        public String getLabel() {
-        	if (add) {
-        		return Resources.addClasspathDependencyAttribute;	
-        	} 
-        	return Resources.removeClasspathDependencyAttribute;
-        }
-
-        public void run(final IMarker marker) {
-    	    final IProject proj = marker.getResource().getProject();
-	    	try {
-	    		final IClasspathEntry cpEntry = getClasspathEntryForMarker(marker, cpEntryPath);
-	    		if (add) {
-	    			UpdateClasspathAttributeUtil.addDependencyAttribute(null, proj.getName(), cpEntry);
-	    		} else {
-	    			UpdateClasspathAttributeUtil.removeDependencyAttribute(null, proj.getName(), cpEntry);	
-	    		}
-	    	} catch (CoreException ce){
-                ErrorDialog.openError(null, Resources.errorDialogTitle,
-                		Resources.errorDialogMessage,
-                		ce.getStatus());
-	    	} catch (ExecutionException ee){
-	    		ErrorDialog.openError(null, Resources.errorDialogTitle,
-	    				Resources.errorDialogMessage,
-	    				new Status(IStatus.ERROR, J2EEUIPlugin.PLUGIN_ID, 0, ee.getLocalizedMessage(), ee)); 
-	    	}
-        }        
-    }
-    
-	/* Resolution that adds the classpath nondependency attribute */
-    private static final class AddClasspathNonDependencyAttributeResolution implements IMarkerResolution {
-        private final String cpEntryPath;
-        public AddClasspathNonDependencyAttributeResolution(final String cpEntryPath) {
-            this.cpEntryPath = cpEntryPath;
-        }
-        
-        public String getLabel() {
-        	return Resources.addClasspathNonDependencyAttribute;	
-        }
-
-        public void run(final IMarker marker) {
-    	    final IProject proj = marker.getResource().getProject();
-	    	try {
-	    		final IClasspathEntry cpEntry = getClasspathEntryForMarker(marker, cpEntryPath);
-	    		UpdateClasspathAttributeUtil.addNonDependencyAttribute(null, proj.getName(), cpEntry);
-	    	} catch (CoreException ce){
-                ErrorDialog.openError(null, Resources.errorDialogTitle,
-                		Resources.errorDialogMessage,
-                		ce.getStatus());
-	    	} catch (ExecutionException ee){
-	    		ErrorDialog.openError(null, Resources.errorDialogTitle,
-	    				Resources.errorDialogMessage,
-	    				new Status(IStatus.ERROR, J2EEUIPlugin.PLUGIN_ID, 0, ee.getLocalizedMessage(), ee)); 
-	    	}
-        }        
-    }
-    
-    private static final class Resources extends NLS {
-        public static String removeClasspathDependencyAttribute;
-        public static String addClasspathDependencyAttribute;
-        public static String addClasspathNonDependencyAttribute;
-        public static String errorDialogTitle;
-        public static String errorDialogMessage;
-        
-        static
-        {
-            initializeMessages( ClasspathDependencyValidatorMarkerResolutions.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-    
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyValidatorMarkerResolutions.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyValidatorMarkerResolutions.properties
deleted file mode 100644
index c21e5af..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathDependencyValidatorMarkerResolutions.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-addClasspathDependencyAttribute = Mark the associated raw classpath entry as a publish/export dependency.
-addClasspathNonDependencyAttribute = Exclude the associated raw classpath entry from the set of potential publish/export dependencies.
-removeClasspathDependencyAttribute = Remove publish/export dependency on the associated raw classpath entry.
-errorDialogTitle = Error
-errorDialogMessage = Failed while applying the quick fix.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathNonDependencyAttributeConfiguration.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathNonDependencyAttributeConfiguration.java
deleted file mode 100644
index 463feca..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathNonDependencyAttributeConfiguration.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     rfrost@bea.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.classpathdep.ui;
-
-import java.net.URL;
-
-
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Shell;
-
-public class ClasspathNonDependencyAttributeConfiguration extends ClasspathAttributeConfiguration {
-
-	private static ImageDescriptor descriptor = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#canEdit(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public boolean canEdit(ClasspathAttributeAccess attribute) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#canRemove(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public boolean canRemove(ClasspathAttributeAccess attribute) {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#getImageDescriptor(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public ImageDescriptor getImageDescriptor(ClasspathAttributeAccess attribute) {
-		if (descriptor == null) {
-			final URL gifImageURL = (URL) J2EEPlugin.getPlugin().getImage("CPDep"); //$NON-NLS-1$
-			if (gifImageURL != null) {
-				descriptor = ImageDescriptor.createFromURL(gifImageURL);
-			}
-		}
-		return descriptor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#getNameLabel(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public String getNameLabel(ClasspathAttributeAccess attribute) {
-		return Resources.nameLabel;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#getValueLabel(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public String getValueLabel(ClasspathAttributeAccess attribute) {
-		return Resources.unspecified;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#performEdit(org.eclipse.swt.widgets.Shell, org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public IClasspathAttribute performEdit(Shell shell,
-			ClasspathAttributeAccess attribute) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration#performRemove(org.eclipse.jdt.ui.wizards.ClasspathAttributeConfiguration.ClasspathAttributeAccess)
-	 */
-	public IClasspathAttribute performRemove(ClasspathAttributeAccess attribute) {
-		return JavaCore.newClasspathAttribute(IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY, null);
-	}
-
-	private static final class Resources extends NLS {
-        public static String nameLabel;
-        public static String unspecified;
-        static
-        {
-            initializeMessages( ClasspathNonDependencyAttributeConfiguration.class.getName(), 
-                                Resources.class );
-        }
-    }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathNonDependencyAttributeConfiguration.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathNonDependencyAttributeConfiguration.properties
deleted file mode 100644
index 5234408..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/classpathdep/ui/ClasspathNonDependencyAttributeConfiguration.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 BEA Systems, Inc.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     rfrost@bea.com - initial API and implementation
-###############################################################################
-nameLabel = Excluded from publish/export structure
-unspecified = (None)
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/AppClientArchiveUIResourceHandler.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/AppClientArchiveUIResourceHandler.java
deleted file mode 100644
index f610fcf..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/AppClientArchiveUIResourceHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.client.actions;
-
-
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AppClientArchiveUIResourceHandler {
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("appclientarchiveui");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String, String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle = getResourceBundle();
-		}
-
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		}
-		return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	public static String getString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getString(key);
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ExportApplicationClientAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ExportApplicationClientAction.java
deleted file mode 100644
index 296fd55..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ExportApplicationClientAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 27, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.client.actions;
-
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.actions.BaseAction;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.wizard.AppClientComponentExportWizard;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * @author jsholl
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ExportApplicationClientAction extends BaseAction {
-	public static String LABEL = J2EEUIPlugin.getDefault().getDescriptor().getResourceString("%client.export.action.label_ui_"); //$NON-NLS-1$
-	private static final String ICON = "appclient_export_wiz"; //$NON-NLS-1$
-
-	public ExportApplicationClientAction() {
-		super();
-		setText(LABEL);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	protected void primRun(Shell shell) {
-		AppClientComponentExportWizard wizard = new AppClientComponentExportWizard();
-		J2EEUIPlugin plugin = J2EEUIPlugin.getDefault();
-		wizard.init(plugin.getWorkbench(), selection);
-
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		dialog.create();
-		dialog.open();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ImportApplicationClientAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ImportApplicationClientAction.java
deleted file mode 100644
index eec6155..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/client/actions/ImportApplicationClientAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 27, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.client.actions;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.actions.BaseAction;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * @author jsholl
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ImportApplicationClientAction extends BaseAction {
-
-	public static String LABEL = AppClientArchiveUIResourceHandler.getString("Application_Client_Import_UI_"); //$NON-NLS-1$
-	private static final String ICON = "appclient_import_wiz"; //$NON-NLS-1$
-
-	public ImportApplicationClientAction() {
-		super();
-		setText(LABEL);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	protected void primRun(Shell shell) {
-
-		AppClientComponentImportWizard wizard = new AppClientComponentImportWizard();
-
-		J2EEUIPlugin plugin = J2EEUIPlugin.getDefault();
-
-		wizard.init(plugin.getWorkbench(), StructuredSelection.EMPTY);
-
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		dialog.create();
-		dialog.open();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/AbstractOverrideCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/AbstractOverrideCommand.java
deleted file mode 100644
index 42564f6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/AbstractOverrideCommand.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.emf.edit.command.AbstractOverrideableCommand;
-import org.eclipse.emf.edit.domain.EditingDomain;
-
-/**
- * Insert the type's description here. Creation date: (06/07/01 10:56:08 AM)
- * 
- * @author: Administrator
- */
-public abstract class AbstractOverrideCommand extends AbstractCommand {
-	private AbstractOverrideableCommand overridable;
-	private J2EEClipboard j2eeClipboard;
-
-	/**
-	 * AbstractOverrideCommand constructor comment.
-	 */
-	protected AbstractOverrideCommand() {
-		super();
-	}
-
-	public AbstractOverrideCommand(AbstractOverrideableCommand command) {
-		super(command.getLabel(), command.getDescription());
-		setOverridable(command);
-	}
-
-	public boolean canExecute() {
-		return super.canExecute() && overridable.doCanExecute();
-	}
-
-	public boolean canUndo() {
-		return overridable.doCanUndo();
-	}
-
-	public Collection getAffectedObjects() {
-		return overridable.doGetAffectedObjects();
-	}
-
-	public EditingDomain getDomain() {
-		return getOverridable().getDomain();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 11:19:27 AM)
-	 * 
-	 * @return org.eclipse.jst.j2ee.internal.internal.internal.command.J2EEClipboard
-	 */
-	public J2EEClipboard getJ2eeClipboard() {
-		return j2eeClipboard;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 10:58:33 AM)
-	 * 
-	 * @return AbstractOverrideableCommand
-	 */
-	public AbstractOverrideableCommand getOverridable() {
-		return overridable;
-	}
-
-	public Collection getResult() {
-		return getJ2eeClipboard();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 11:19:27 AM)
-	 * 
-	 * @param newJ2eeClipboard
-	 *            org.eclipse.jst.j2ee.internal.internal.internal.command.J2EEClipboard
-	 */
-	protected void setJ2eeClipboard(J2EEClipboard newJ2eeClipboard) {
-		j2eeClipboard = newJ2eeClipboard;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 10:58:33 AM)
-	 * 
-	 * @param AbstractOverrideableCommand
-	 */
-	protected void setOverridable(AbstractOverrideableCommand newOverridable) {
-		overridable = newOverridable;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEClipboard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEClipboard.java
deleted file mode 100644
index 4e4ab25..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEClipboard.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EObject;
-
-public class J2EEClipboard extends ArrayList {
-	/**
-	 * Warning cleanup 12/07/2005
-	 */
-	private static final long serialVersionUID = 8713021573099134096L;
-	private Map bindings;
-	private Map extensions;
-
-	/**
-	 * J2EEClipboard constructor comment.
-	 */
-	public J2EEClipboard(Collection defaultClipboard) {
-		super(defaultClipboard);
-	}
-
-	public boolean addAll(Collection c) {
-		boolean result = super.addAll(c);
-		if (result && (c instanceof J2EEClipboard))
-			addAllExtra((J2EEClipboard) c);
-		return result;
-	}
-
-	protected void addAllExtra(J2EEClipboard c) {
-		getBindings().putAll(c.getBindings());
-		getExtensions().putAll(c.getExtensions());
-	}
-
-	protected void addBinding(EObject boundObject, EObject binding) {
-		getBindings().put(boundObject, binding);
-	}
-
-	protected void addExtension(EObject extendedObject, EObject extension) {
-		getExtensions().put(extendedObject, extension);
-	}
-
-	public EObject getBinding(EObject o) {
-		return (EObject) getBindings().get(o);
-	}
-
-	protected Map getBindings() {
-		if (bindings == null)
-			bindings = new HashMap(10);
-		return bindings;
-	}
-
-	public EObject getExtension(EObject o) {
-		return (EObject) getExtensions().get(o);
-	}
-
-	protected Map getExtensions() {
-		if (extensions == null)
-			extensions = new HashMap(10);
-		return extensions;
-	}
-
-	public boolean hasBindings() {
-		return bindings != null && !bindings.isEmpty();
-	}
-
-	public boolean hasExtensions() {
-		return extensions != null && !extensions.isEmpty();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECompoundCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECompoundCommand.java
deleted file mode 100644
index bf103ab..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECompoundCommand.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CompoundCommand;
-
-/**
- * Insert the type's description here. Creation date: (06/13/01 10:27:16 AM)
- * 
- * @author: Administrator
- */
-public class J2EECompoundCommand extends CompoundCommand {
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 */
-	public J2EECompoundCommand() {
-		super();
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 */
-	public J2EECompoundCommand(int resultIndex) {
-		super(resultIndex);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 */
-	public J2EECompoundCommand(int resultIndex, String label) {
-		super(resultIndex, label);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 */
-	public J2EECompoundCommand(int resultIndex, String label, String description) {
-		super(resultIndex, label, description);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EECompoundCommand(int resultIndex, String label, String description, java.util.List commandList) {
-		super(resultIndex, label, description, commandList);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param label
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EECompoundCommand(int resultIndex, String label, java.util.List commandList) {
-		super(resultIndex, label, commandList);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param resultIndex
-	 *            int
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EECompoundCommand(int resultIndex, java.util.List commandList) {
-		super(resultIndex, commandList);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 */
-	public J2EECompoundCommand(String label) {
-		super(label);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 */
-	public J2EECompoundCommand(String label, String description) {
-		super(label, description);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EECompoundCommand(String label, String description, java.util.List commandList) {
-		super(label, description, commandList);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EECompoundCommand(String label, java.util.List commandList) {
-		super(label, commandList);
-	}
-
-	/**
-	 * J2EECompoundCommand constructor comment.
-	 * 
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EECompoundCommand(java.util.List commandList) {
-		super(commandList);
-	}
-
-	protected Collection getMergedAffectedObjectsCollection() {
-		J2EEClipboard result = new J2EEClipboard(new ArrayList());
-
-		for (Iterator commands = commandList.iterator(); commands.hasNext();) {
-			Command command = (Command) commands.next();
-			result.addAll(command.getAffectedObjects());
-		}
-
-		return result;
-	}
-
-	protected Collection getMergedResultCollection() {
-		J2EEClipboard result = new J2EEClipboard(new ArrayList());
-
-		for (Iterator commands = commandList.iterator(); commands.hasNext();) {
-			Command command = (Command) commands.next();
-			result.addAll(command.getResult());
-		}
-
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java
deleted file mode 100644
index 51dc0bd..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyCommand.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emf.utilities.CopyGroup;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-
-
-public class J2EECopyCommand extends AbstractCommand {
-	protected EObject objectToCopy;
-	protected EObject bindingToCopy;
-	protected EObject extensionToCopy;
-	protected J2EEClipboard result;
-	protected EtoolsCopyUtility copyUtil;
-
-	public J2EECopyCommand(EObject object, EObject binding, EObject extension, EtoolsCopyUtility copyUtility) {
-		objectToCopy = object;
-		bindingToCopy = binding;
-		extensionToCopy = extension;
-		copyUtil = copyUtility;
-	}
-
-	/**
-	 * This will perform the command activity required for the effect. The effect of calling execute
-	 * when canExecute returns false, or when canExecute hasn't been called, is undefined.
-	 */
-	public void execute() {
-		CopyGroup group = new CopyGroup();
-
-		group.add(objectToCopy);
-
-		if (bindingToCopy != null)
-			group.add(bindingToCopy);
-		if (extensionToCopy != null)
-			group.add(extensionToCopy);
-		copyUtil.copy(group);
-		EObject copy = copyUtil.getCopy(objectToCopy);
-		result = new J2EEClipboard(Collections.singleton(copy));
-
-		if (bindingToCopy != null)
-			result.addBinding(copy, copyUtil.getCopy(bindingToCopy));
-		if (extensionToCopy != null)
-			result.addExtension(copy, copyUtil.getCopy(extensionToCopy));
-	}
-
-	public Collection getAffectedObjects() {
-		return result;
-	}
-
-	public Collection getResult() {
-		return result;
-	}
-
-	protected boolean prepare() {
-		return true;
-	}
-
-	/**
-	 * This will again perform the command activity required to redo the effect after undoing the
-	 * effect. The effect, if any, of calling redo before undo is called is undefined. Note that if
-	 * you implement redo to call execute then any derived class will be restricted to by that
-	 * decision also.
-	 */
-	public void redo() {
-		//redo
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java
deleted file mode 100644
index 5581dec..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyFromClipboardCommand.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.emf.common.command.AbstractCommand;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jst.j2ee.internal.provider.J2EEUIEditingDomain;
-import org.eclipse.wst.common.internal.emf.utilities.CopyGroup;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-
-
-/**
- * Insert the type's description here. Creation date: (06/11/01 8:45:21 AM)
- * 
- * @author: Administrator
- */
-public class J2EECopyFromClipboardCommand extends AbstractCommand {
-	private J2EEUIEditingDomain domain;
-	private J2EEClipboard result;
-	private EtoolsCopyUtility copyUtil;
-
-	public J2EECopyFromClipboardCommand(J2EEUIEditingDomain editingDomain) {
-		domain = editingDomain;
-
-	}
-
-	/**
-	 * This will perform the command activity required for the effect. The effect of calling execute
-	 * when canExecute returns false, or when canExecute hasn't been called, is undefined.
-	 */
-	public void execute() {
-		if (copyUtil != null)
-			return;
-		copyUtil = new EtoolsCopyUtility();
-		J2EEClipboard clipboard = domain.getJ2EEClipboard();
-		result = new J2EEClipboard(new ArrayList(0));
-		for (int i = 0; i < clipboard.size(); i++) {
-			CopyGroup group = new CopyGroup();
-			EObject o = (EObject) clipboard.get(i);
-			group.add(o);
-			EObject bnd = clipboard.getBinding(o);
-			if (bnd != null)
-				group.add(bnd);
-			EObject ext = clipboard.getExtension(o);
-			if (ext != null)
-				group.add(ext);
-			copyUtil.copy(group);
-			EObject copy = copyUtil.getCopy(o);
-			result.add(copy);
-			if (bnd != null)
-				result.addBinding(copy, copyUtil.getCopy(bnd));
-			if (ext != null)
-				result.addExtension(copy, copyUtil.getCopy(ext));
-		}
-		//Reset the util so redo will actuall redo
-		copyUtil = null;
-	}
-
-	public Collection getAffectedObjects() {
-		return result;
-	}
-
-	public Collection getResult() {
-		return result;
-	}
-
-	protected boolean prepare() {
-		return true;
-	}
-
-	/**
-	 * This will again perform the command activity required to redo the effect after undoing the
-	 * effect. The effect, if any, of calling redo before undo is called is undefined. Note that if
-	 * you implement redo to call execute then any derived class will be restricted to by that
-	 * decision also.
-	 */
-	public void redo() {
-		execute();
-	}
-
-	public void undo() {
-		result = null;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java
deleted file mode 100644
index eb42b83..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EECopyToClipboardOverrideCommand.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.Iterator;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.common.command.UnexecutableCommand;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.CopyToClipboardCommand;
-import org.eclipse.wst.common.internal.emf.utilities.EtoolsCopyUtility;
-
-
-public class J2EECopyToClipboardOverrideCommand extends CopyToClipboardCommand {
-	//The collection of source objects, with bindings and extensions, if any exist
-	protected J2EEClipboard extendedSourceObjects;
-	protected boolean onlyRefObjects = true;
-
-	public J2EECopyToClipboardOverrideCommand(CopyToClipboardCommand cmd) {
-		super(cmd.getDomain(), cmd.getSourceObjects());
-	}
-
-	protected Command createCopyCommand() {
-		CompoundCommand cmd = new J2EECompoundCommand(CompoundCommand.MERGE_COMMAND_ALL);
-		Iterator it = extendedSourceObjects.iterator();
-		EtoolsCopyUtility copyUtil = new EtoolsCopyUtility();
-		while (it.hasNext()) {
-			Object o = it.next();
-			if (!(o instanceof EObject)) {
-				cmd.append(UnexecutableCommand.INSTANCE);
-			} else {
-				EObject r = (EObject) o;
-				cmd.append(new J2EECopyCommand(r, extendedSourceObjects.getBinding(r), extendedSourceObjects.getExtension(r), copyUtil));
-			}
-		}
-		return cmd.unwrap();
-	}
-
-	protected boolean prepare() {
-		prepareSourceObjects();
-		if (!onlyRefObjects) {
-			copyCommand = UnexecutableCommand.INSTANCE;
-			return copyCommand.canExecute();
-		}
-
-		if (!extendedSourceObjects.hasBindings() && !extendedSourceObjects.hasExtensions())
-			return super.prepare();
-
-		copyCommand = createCopyCommand();
-		return copyCommand.canExecute();
-	}
-
-	protected void prepareSourceObjects() {
-		extendedSourceObjects = new J2EEClipboard(getSourceObjects());
-		Iterator it = getSourceObjects().iterator();
-		while (it.hasNext()) {
-			Object o = it.next();
-			if (o instanceof EObject) {
-				//			EObject r = (EObject) o;
-				// TODO switch to adaptable commands
-				//			EObject bnd = BindingAndExtensionHelper.getBinding(r);
-				//			EObject ext = BindingAndExtensionHelper.getExtension(r);
-				//			if (bnd != null)
-				//				extendedSourceObjects.addBinding(r, bnd);
-				//			if (ext != null)
-				//				extendedSourceObjects.addExtension(r, ext);
-			} else {
-				//Right now we can only handle ref objects in the tree
-				onlyRefObjects = false;
-				return;
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEPasteFromClipboardOverrideCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEPasteFromClipboardOverrideCommand.java
deleted file mode 100644
index d51a6d5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEPasteFromClipboardOverrideCommand.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandWrapper;
-import org.eclipse.emf.common.command.StrictCompoundCommand;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.PasteFromClipboardCommand;
-import org.eclipse.jst.j2ee.common.internal.util.IDUtility;
-import org.eclipse.jst.j2ee.internal.provider.J2EEUIEditingDomain;
-
-
-public class J2EEPasteFromClipboardOverrideCommand extends PasteFromClipboardCommand {
-	private J2EECopyFromClipboardCommand copyCommand;
-	private Command addBindingsCommand;
-	private Command addExtensionsCommand;
-
-	public J2EEPasteFromClipboardOverrideCommand(PasteFromClipboardCommand p) {
-		super(p.getDomain(), p.getOwner(), p.getFeature(), p.getIndex(), false);
-	}
-
-	public void doExecute() {
-		super.doExecute();
-		executeAddBindings();
-		executeAddExtensions();
-		J2EEClipboard result = (J2EEClipboard) doGetResult();
-		for (int i = 0; i < result.size(); i++) {
-			EObject o = (EObject) result.get(i);
-			if (result.getBinding(o) != null || result.getExtension(o) != null)
-				IDUtility.setDefaultID(o, true);
-		}
-	}
-
-	public Collection doGetAffectedObjects() {
-		return copyCommand.getAffectedObjects();
-	}
-
-	public Collection doGetResult() {
-		return copyCommand.getResult();
-	}
-
-	public void doRedo() {
-		super.doRedo();
-		if (addBindingsCommand != null)
-			addBindingsCommand.redo();
-		if (addExtensionsCommand != null)
-			addExtensionsCommand.redo();
-	}
-
-	public void doUndo() {
-		super.doUndo();
-		if (addBindingsCommand != null)
-			addBindingsCommand.undo();
-		if (addExtensionsCommand != null)
-			addExtensionsCommand.undo();
-	}
-
-	protected void executeAddBindings() {
-		if (addBindingsCommand != null && addBindingsCommand.canExecute())
-			addBindingsCommand.execute();
-	}
-
-	protected void executeAddExtensions() {
-		if (addExtensionsCommand != null && addExtensionsCommand.canExecute())
-			addExtensionsCommand.execute();
-	}
-
-	public J2EEClipboard getCopiedClipoard() {
-		return (J2EEClipboard) copyCommand.getResult();
-	}
-
-	protected J2EEClipboard getJ2EEClipboard() {
-		return (J2EEClipboard) domain.getClipboard();
-	}
-
-	protected boolean prepare() {
-		if (getJ2EEClipboard() == null)
-			return false;
-		command = new StrictCompoundCommand();
-
-		copyCommand = new J2EECopyFromClipboardCommand((J2EEUIEditingDomain) domain);
-		command.append(copyCommand);
-
-		command.append(new CommandWrapper() {
-			protected Command createCommand() {
-				Command addCommand = AddCommand.create(getDomain(), getOwner(), getFeature(), copyCommand.getResult(), getIndex());
-				return addCommand;
-			}
-		});
-		prepareBindingCommand(copyCommand);
-		prepareExtensionCommand(copyCommand);
-
-		boolean result;
-		if (optimize) {
-			// This will determine canExecute as efficiently as possible.
-			//
-			result = optimizedCanExecute();
-		} else {
-			// This will actually execute the copy command in order to check if the add can execute.
-			//
-			result = command.canExecute();
-		}
-
-		return result;
-	}
-
-	protected void prepareBindingCommand(final J2EECopyFromClipboardCommand cmd) {
-		if (!getJ2EEClipboard().hasBindings())
-			return;
-		//TODO make adaptable command
-		//	addBindingsCommand = new CommandWrapper() {
-		//		protected Command createCommand() {
-		//			Object bindingOwner = BindingAndExtensionHelper.getBindingAddOwner((EObject)getOwner());
-		//			Collection bindingsCopies = getCopiedClipoard().getBindings().values();
-		//			Command addCommand = AddCommand.create(getDomain(), bindingOwner, null, bindingsCopies,
-		// CommandParameter.NO_INDEX);
-		//			return addCommand;
-		//		}
-		//	};
-	}
-
-	protected void prepareExtensionCommand(final J2EECopyFromClipboardCommand cmd) {
-		if (!getJ2EEClipboard().hasExtensions())
-			return;
-		// TODO make adaptable command
-		//	addExtensionsCommand = new CommandWrapper() {
-		//		protected Command createCommand() {
-		//			Object extensionOwner =
-		// BindingAndExtensionHelper.getExtensionAddOwner((EObject)getOwner());
-		//			Collection extensionsCopies = getCopiedClipoard().getExtensions().values();
-		//			Command addCommand = AddCommand.create(getDomain(), extensionOwner, null,
-		// extensionsCopies, CommandParameter.NO_INDEX);
-		//			return addCommand;
-		//		}
-		//	};
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EERemoveOverrideCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EERemoveOverrideCommand.java
deleted file mode 100644
index ab61039..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EERemoveOverrideCommand.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.edit.command.RemoveCommand;
-
-/**
- * Insert the type's description here. Creation date: (06/07/01 10:44:02 AM)
- * 
- * @author: Administrator
- */
-public class J2EERemoveOverrideCommand extends AbstractOverrideCommand {
-	private RemoveCommand bindingsRemoveCommand;
-	private RemoveCommand extensionsRemoveCommand;
-	private ResourceSet resourceSet;
-
-	/**
-	 * J2EERemoveOverrideCommand constructor comment.
-	 */
-	protected J2EERemoveOverrideCommand() {
-		super();
-	}
-
-	public J2EERemoveOverrideCommand(RemoveCommand command) {
-		super(command);
-	}
-
-	protected RemoveCommand createRemoveCommand(Collection elements) {
-		return (RemoveCommand) RemoveCommand.create(getDomain(), elements);
-	}
-
-	/**
-	 * This will perform the command activity required for the effect. The effect of calling execute
-	 * when canExecute returns false, or when canExecute hasn't been called, is undefined.
-	 */
-	public void execute() {
-		/*
-		 * For each object being removed, check if it has a binding, and an extension Make
-		 * collections of these, make a command parameter for each collection, an instantiate a
-		 * remove command
-		 */
-
-		Collection objects = getRemoveCommand().getCollection();
-		List bindings = new ArrayList(objects.size());
-		List extensions = new ArrayList(objects.size());
-		Iterator it = objects.iterator();
-		while (it.hasNext()) {
-			EObject o = (EObject) it.next();
-			if (resourceSet == null)
-				resourceSet = o.eResource().getResourceSet();
-			// TODO make command adaptable
-			//		EObject binding = BindingAndExtensionHelper.getBinding(o);
-			//		if (binding != null) {
-			//			bindings.add(binding);
-			//			getJ2eeClipboard().addBinding(o, binding);
-			//		}
-			//		EObject extension = BindingAndExtensionHelper.getExtension(o);
-			//		if (extension != null) {
-			//			extensions.add(extension);
-			//			getJ2eeClipboard().addExtension(o, extension);
-			//		}
-		}
-		if (!bindings.isEmpty())
-			setBindingsRemoveCommand(createRemoveCommand(bindings));
-
-		if (!extensions.isEmpty())
-			setExtensionsRemoveCommand(createRemoveCommand(extensions));
-
-		executeAllChildren();
-	}
-
-	protected void executeAllChildren() {
-		executeNested(bindingsRemoveCommand);
-		executeNested(extensionsRemoveCommand);
-		getOverridable().doExecute();
-	}
-
-	protected void executeNested(RemoveCommand cmd) {
-		if (cmd != null && cmd.doCanExecute()) {
-			cmd.doExecute();
-			//		Collection result = cmd.getResult();
-			//TODO
-			//		BindingAndExtensionHelper.resolveAllProxies(result, resourceSet);
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 1:32:44 PM)
-	 * 
-	 * @return RemoveCommand
-	 */
-	protected RemoveCommand getBindingsRemoveCommand() {
-		return bindingsRemoveCommand;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 1:32:44 PM)
-	 * 
-	 * @return RemoveCommand
-	 */
-	protected RemoveCommand getExtensionsRemoveCommand() {
-		return extensionsRemoveCommand;
-	}
-
-	public RemoveCommand getRemoveCommand() {
-		return (RemoveCommand) getOverridable();
-	}
-
-	protected boolean prepare() {
-		setJ2eeClipboard(new J2EEClipboard(getRemoveCommand().getCollection()));
-		return true;
-	}
-
-	/**
-	 * This will again perform the command activity required to redo the effect after undoing the
-	 * effect. The effect, if any, of calling redo before undo is called is undefined. Note that if
-	 * you implement redo to call execute then any derived class will be restricted to by that
-	 * decision also.
-	 */
-	public void redo() {
-		executeAllChildren();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 1:32:44 PM)
-	 * 
-	 * @param newBindingsRemoveCommand
-	 *            RemoveCommand
-	 */
-	protected void setBindingsRemoveCommand(RemoveCommand newBindingsRemoveCommand) {
-		bindingsRemoveCommand = newBindingsRemoveCommand;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (06/07/01 1:32:44 PM)
-	 * 
-	 * @param newExtensionsRemoveCommand
-	 *            RemoveCommand
-	 */
-	protected void setExtensionsRemoveCommand(RemoveCommand newExtensionsRemoveCommand) {
-		extensionsRemoveCommand = newExtensionsRemoveCommand;
-	}
-
-	public void undo() {
-		getRemoveCommand().doUndo();
-		undoNested(bindingsRemoveCommand);
-		undoNested(extensionsRemoveCommand);
-	}
-
-	protected void undoNested(RemoveCommand cmd) {
-		if (cmd != null && cmd.doCanUndo())
-			cmd.doUndo();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEStrictCompoundCommand.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEStrictCompoundCommand.java
deleted file mode 100644
index e0df82a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/command/J2EEStrictCompoundCommand.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.command;
-
-import org.eclipse.emf.common.command.StrictCompoundCommand;
-
-
-
-/**
- * Overridden to provide an accessor to the pessimistic field. This is needed for the case of
- * undo/redo paste. We need the nested copy commmand in the paste command to redo itself when the
- * paste command is copied, otherwise we run into sed exception.
- */
-public class J2EEStrictCompoundCommand extends StrictCompoundCommand {
-	/**
-	 * J2EEStrictCompoundCommand constructor comment.
-	 */
-	public J2EEStrictCompoundCommand() {
-		super();
-	}
-
-	/**
-	 * J2EEStrictCompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 */
-	public J2EEStrictCompoundCommand(String label) {
-		super(label);
-	}
-
-	/**
-	 * J2EEStrictCompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 */
-	public J2EEStrictCompoundCommand(String label, String description) {
-		super(label, description);
-	}
-
-	/**
-	 * J2EEStrictCompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param description
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EEStrictCompoundCommand(String label, String description, java.util.List commandList) {
-		super(label, description, commandList);
-	}
-
-	/**
-	 * J2EEStrictCompoundCommand constructor comment.
-	 * 
-	 * @param label
-	 *            java.lang.String
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EEStrictCompoundCommand(String label, java.util.List commandList) {
-		super(label, commandList);
-	}
-
-	/**
-	 * J2EEStrictCompoundCommand constructor comment.
-	 * 
-	 * @param commandList
-	 *            java.util.List
-	 */
-	public J2EEStrictCompoundCommand(java.util.List commandList) {
-		super(commandList);
-	}
-
-	/**
-	 * J2EEStrictCompoundCommand constructor comment.
-	 */
-	public J2EEStrictCompoundCommand(boolean pessimistic) {
-		super();
-		setIsPessismistic(pessimistic);
-	}
-
-	public void setIsPessismistic(boolean aBool) {
-		isPessimistic = aBool;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/EnterpriseDeployableArtifactAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/EnterpriseDeployableArtifactAdapterFactory.java
deleted file mode 100644
index ea7adc7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/EnterpriseDeployableArtifactAdapterFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jan 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.internal.deployables;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.ui.actions.ILaunchable;
-import org.eclipse.wst.server.core.IModuleArtifact;
-import org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate;
-
-public class EnterpriseDeployableArtifactAdapterFactory extends ModuleArtifactAdapterDelegate implements IAdapterFactory  {
-
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		return null;
-	}
-
-	public Class[] getAdapterList() {
-		return new Class[] {ILaunchable.class };
-	}
-
-	public IModuleArtifact getModuleArtifact(Object obj) {
-		return EnterpriseApplicationDeployableAdapterUtil.getModuleObject(obj);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/EnterpriseModuleArtifact.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/EnterpriseModuleArtifact.java
deleted file mode 100644
index b3cb39e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/EnterpriseModuleArtifact.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 21, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.deployables;
-
-import org.eclipse.debug.ui.actions.ILaunchable;
-import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleArtifact;
-
-/**
- * @author blancett
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class EnterpriseModuleArtifact implements IModuleArtifact {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.server.core.IModuleArtifact#getModule()
-	 */
-	public IModule getModule() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	
-	public Class[] getAdapterList() {
-		return new Class[] { IModuleArtifact.class, ILaunchable.class };
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableAdapterFactory.java
deleted file mode 100644
index 2127745..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableAdapterFactory.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 21, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.deployables;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.ui.actions.ILaunchable;
-import org.eclipse.wst.server.core.IModuleArtifact;
-
-
-public class J2EEDeployableAdapterFactory implements IAdapterFactory {
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		IModuleArtifact moduleArtifact = null;
-/*		if (adapterType == IModuleArtifact.class ) {
-			
-			if (moduleArtifact == null && Platform.getAdapterManager().hasAdapter(adaptableObject, "org.eclipse.jst.j2ee.internal.web.deployables.WebModuleArtifact")) {
-				moduleArtifact = (IModuleArtifact) Platform.getAdapterManager().loadAdapter(adaptableObject, "org.eclipse.jst.j2ee.internal.web.deployables.WebModuleArtifact");
-			}
-			if (moduleArtifact == null && Platform.getAdapterManager().hasAdapter(adaptableObject, "org.eclipse.jst.j2ee.ejb.internal.deployables.IEJBModuleArtifact")) {
-				moduleArtifact = (IModuleArtifact) Platform.getAdapterManager().loadAdapter(adaptableObject, "org.eclipse.jst.j2ee.ejb.internal.deployables.IEJBModuleArtifact");
-			}
-			if (moduleArtifact == null && Platform.getAdapterManager().hasAdapter(adaptableObject, "org.eclipse.jst.j2ee.internal.deployables.EnterpriseModuleArtifact")) {
-				moduleArtifact = (IModuleArtifact) Platform.getAdapterManager().loadAdapter(adaptableObject, "org.eclipse.jst.j2ee.internal.deployables.EnterpriseModuleArtifact");
-			}
-			if (moduleArtifact == null && Platform.getAdapterManager().hasAdapter(adaptableObject, "org.eclipse.wst.web.internal.deployables.IStaticWebModuleArtifact")) {
-				moduleArtifact = (IModuleArtifact) Platform.getAdapterManager().loadAdapter(adaptableObject, "org.eclipse.wst.web.internal.deployables.IStaticWebModuleArtifact");
-			}
-		}*/
-		return moduleArtifact;
-	}
-
-	public Class[] getAdapterList() {
-		return new Class[]{IModuleArtifact.class, ILaunchable.class};
-	}
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/ChangeLibDirDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/ChangeLibDirDialog.java
deleted file mode 100644
index f550e44..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/ChangeLibDirDialog.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov, stefan.dimov@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.widgets.Shell;
-
-public class ChangeLibDirDialog extends InputDialog {
-	private boolean warnBlank;
-	
-    public ChangeLibDirDialog(Shell parentShell, String initialValue, boolean warnBlank) { 
-    	super(parentShell, J2EEUIMessages.getResourceString(J2EEUIMessages.CHANGE_LIB_DIR_HEAD),
-    			J2EEUIMessages.getResourceString(J2EEUIMessages.NEW_LIB_DIR_PROPMPT), initialValue, null);
-    	this.warnBlank = warnBlank;
-    }
-    
-    protected void buttonPressed(int buttonId) {
-        if (buttonId == IDialogConstants.OK_ID) {
-        	String res = getText().getText().trim(); 
-        	if (res.length() == 0) {
-    			if (warnBlank)
-    				if (!MessageDialog.openQuestion(this.getShell(), 
-    					J2EEUIMessages.getResourceString(J2EEUIMessages.BLANK_LIB_DIR), 
-    					J2EEUIMessages.getResourceString(J2EEUIMessages.BLANK_LIB_DIR_CONFIRM))) return;
-        	} else {
-    			if (res.startsWith("" + IPath.SEPARATOR)); //$NON-NLS-1$
-    			res = res.substring(1);	
-    			Path p = new Path(""); //$NON-NLS-1$
-    			boolean valid = p.isValidSegment(res); 
-    			if (!valid) {
-    				MessageDialog.openError(null, 
-    						J2EEUIMessages.getResourceString(J2EEUIMessages.INVALID_PATH), 
-    						J2EEUIMessages.getResourceString(J2EEUIMessages.INVALID_PATH_MSG));	
-    				return;
-    			}	        		
-        	}
-        } 
-        super.buttonPressed(buttonId);
-    }    
-}
-
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARComposite.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARComposite.java
deleted file mode 100644
index fa02515..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARComposite.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jst.j2ee.internal.delete.DeleteOptions;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-
-public class DeleteEARComposite extends Composite implements J2EEDeleteUIConstants, Listener, ICheckStateListener {
-
-	protected DeleteEARDialog dialog;
-	protected Button deleteAppProjectsBtn;
-	protected Button deleteRefProjectsBtn;
-	protected Composite radioComposite;
-	protected Button detailsBtn;
-	protected DeleteModuleReferencesComposite moduleRefsComposite;
-	protected CheckboxTableViewer projectsList;
-	protected boolean listCreated = false;
-	protected Map referencedProjects;
-	protected WorkbenchLabelProvider workbenchLabelProvider = new WorkbenchLabelProvider();
-
-	/**
-	 * Constructor for DeleteEARComposite.
-	 * 
-	 * @param parent
-	 * @param style
-	 */
-	public DeleteEARComposite(Composite parent, DeleteEARDialog dialog, int style, Set referencedProjects) {
-		super(parent, style);
-		this.dialog = dialog;
-		initReferencedProjects(referencedProjects);
-		addChildren();
-	}
-
-	/**
-	 * Answer the referenced projects which the user has chosen to also delete
-	 */
-	public java.util.List getSelectedReferencedProjects() {
-		if (deleteAppProjectsBtn.getSelection())
-			return Collections.EMPTY_LIST;
-		java.util.List result = new ArrayList();
-		for (Iterator iter = referencedProjects.entrySet().iterator(); iter.hasNext();) {
-			Map.Entry element = (Map.Entry) iter.next();
-			boolean isSelected = ((Boolean) element.getValue()).booleanValue();
-			if (isSelected)
-				result.add(element.getKey());
-		}
-		return result;
-	}
-
-	/**
-	 * @see J2EEDeleteDialog#createDeleteOptions()
-	 */
-	public DeleteOptions createDeleteOptions() {
-		DeleteOptions opts = new DeleteOptions();
-		opts.setIsEARDelete(true);
-		opts.setDeleteProjects(true);
-		opts.setDeleteModuleDependencies(moduleRefsComposite.shouldDeleteModuleDependencies());
-		opts.setDeleteModules(moduleRefsComposite.shouldDeleteModules());
-		opts.setSelectedReferencedProjects(getSelectedReferencedProjects());
-		return opts;
-	}
-
-
-
-	protected void initReferencedProjects(Set projects) {
-		referencedProjects = new HashMap();
-		for (Iterator iter = projects.iterator(); iter.hasNext();) {
-			IProject project = (IProject) iter.next();
-			referencedProjects.put(project, Boolean.TRUE);
-		}
-	}
-
-	protected void addChildren() {
-		setLayout();
-		addRadioComposite();
-		moduleRefsComposite = new DeleteModuleReferencesComposite(this, SWT.NONE, true);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalIndent = 10;
-		moduleRefsComposite.setLayoutData(data);
-		//setup defaults
-		deleteAppProjectsBtn.setSelection(true);
-		deleteAppProjectsBtnSelected();
-	}
-
-	protected void setLayout() {
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 1;
-		setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-	}
-
-	protected void addRadioComposite() {
-		radioComposite = new Composite(this, SWT.NONE);
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 2;
-		radioComposite.setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		radioComposite.setLayoutData(data);
-		deleteAppProjectsBtn = new Button(radioComposite, SWT.RADIO);
-		deleteAppProjectsBtn.setText(DELETE_EAR_PROJECTS);
-		deleteAppProjectsBtn.addListener(SWT.Selection, this);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		deleteAppProjectsBtn.setLayoutData(data);
-
-		deleteRefProjectsBtn = new Button(radioComposite, SWT.RADIO);
-		deleteRefProjectsBtn.setText(DELETE_REFERENCED_PROJECTS);
-		deleteRefProjectsBtn.addListener(SWT.Selection, this);
-		deleteRefProjectsBtn.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		detailsBtn = new Button(radioComposite, SWT.PUSH);
-		detailsBtn.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		detailsBtn.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		detailsBtn.addListener(SWT.Selection, this);
-		detailsBtn.setEnabled(false);
-	}
-
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == deleteAppProjectsBtn)
-			deleteAppProjectsBtnSelected();
-		else if (event.widget == deleteRefProjectsBtn)
-			deleteRefProjectsBtnSelected();
-		else if (event.widget == detailsBtn)
-			detailsBtnSelected();
-	}
-
-	protected void deleteAppProjectsBtnSelected() {
-		if (deleteAppProjectsBtn.getSelection()) {
-			if (listCreated)
-				toggleDetailsArea();
-			detailsBtn.setEnabled(false);
-			moduleRefsComposite.setButtonsEnabled(false);
-		}
-	}
-
-	protected void deleteRefProjectsBtnSelected() {
-		if (deleteRefProjectsBtn.getSelection()) {
-			detailsBtn.setEnabled(true);
-			moduleRefsComposite.setButtonsEnabled(true);
-		}
-	}
-
-	/**
-	 * Toggles the unfolding of the details area. This is triggered by the user pressing the details
-	 * button.
-	 */
-	protected void toggleDetailsArea() {
-		Point windowSize = getShell().getSize();
-		Point oldSize = dialog.getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		if (listCreated) {
-			projectsList.getControl().dispose();
-			listCreated = false;
-			detailsBtn.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		} else {
-			createDropDownList();
-			detailsBtn.setText(IDialogConstants.HIDE_DETAILS_LABEL);
-		}
-
-		Point newSize = dialog.getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		getShell().setSize(new Point(windowSize.x, windowSize.y + (newSize.y - oldSize.y)));
-	}
-
-	protected void createDropDownList() {
-		// create the list
-		projectsList = CheckboxTableViewer.newCheckList(radioComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		projectsList.setLabelProvider(createLabelProvider());
-		projectsList.setSorter(new ViewerSorter() {/*viewersorter*/});
-		projectsList.addCheckStateListener(this);
-		// fill the list
-		populateList();
-
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		data.heightHint = projectsList.getTable().getItemHeight() * referencedProjects.size();
-		data.horizontalSpan = 2;
-		data.horizontalIndent = 10;
-		projectsList.getTable().setLayoutData(data);
-
-		listCreated = true;
-	}
-
-	protected void populateList() {
-		for (Iterator iter = referencedProjects.entrySet().iterator(); iter.hasNext();) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			projectsList.add(entry.getKey());
-			boolean checked = ((Boolean) entry.getValue()).booleanValue();
-			projectsList.setChecked(entry.getKey(), checked);
-		}
-	}
-
-	protected void detailsBtnSelected() {
-		toggleDetailsArea();
-	}
-
-	/**
-	 * @see ICheckStateListener#checkStateChanged(CheckStateChangedEvent)
-	 */
-	public void checkStateChanged(CheckStateChangedEvent event) {
-		referencedProjects.put(event.getElement(), new Boolean(event.getChecked()));
-	}
-
-	protected ITableLabelProvider createLabelProvider() {
-		return new ITableLabelProvider() {
-			public void dispose() {
-				//dispose
-			}
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				return workbenchLabelProvider.getImage(element);
-			}
-
-			/**
-			 * @see ITableLabelProvider#getColumnText(Object, int)
-			 */
-			public String getColumnText(Object element, int columnIndex) {
-				return workbenchLabelProvider.getText(element);
-			}
-
-			public void addListener(ILabelProviderListener listener) {
-				//do nothing
-			}
-
-			public boolean isLabelProperty(Object element, String property) {
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener) {
-				//do nothing
-			}
-		};
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARDialog.java
deleted file mode 100644
index 48f41f5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteEARDialog.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import java.util.Set;
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-public class DeleteEARDialog extends J2EEDeleteDialog {
-	protected DeleteEARComposite deleteComposite;
-	protected Set referencedProjects;
-
-	/**
-	 * Constructor for DeleteEARDialog.
-	 * 
-	 * @param parentShell
-	 * @param dialogTitle
-	 */
-	public DeleteEARDialog(Shell parentShell, Set referencedProjects) {
-		super(parentShell, DELETE_EAR_OPTIONS);
-		this.referencedProjects = referencedProjects;
-	}
-
-
-	/**
-	 * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(Composite)
-	 */
-	protected Control createCustomArea(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJ2EEUIContextIds.DELEATE_EAR_DIALOG_1); //$NON-NLS-1$
-		deleteComposite = new DeleteEARComposite(parent, this, SWT.NONE, referencedProjects);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalIndent = 10;
-		deleteComposite.setLayoutData(data);
-		return deleteComposite;
-	}
-
-	/**
-	 * @see J2EEDeleteDialog#createDeleteOptions()
-	 */
-	public void createDeleteOptions() {
-		deleteOptions = deleteComposite.createDeleteOptions();
-	}
-
-	/**
-	 * @see org.eclipse.jface.window.Window#getContents()
-	 */
-	public Control getContents() {
-		return super.getContents();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleComposite.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleComposite.java
deleted file mode 100644
index ceda40a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleComposite.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-
-public class DeleteModuleComposite extends Composite implements J2EEDeleteUIConstants, Listener {
-
-	//	protected Button deleteProjectsCheckBox;
-	protected Button deleteAppProjectsBtn;
-	protected Button deleteRefProjectsBtn;
-	protected Composite radioComposite;
-	protected DeleteModuleReferencesComposite moduleRefsComposite;
-
-
-	/**
-	 * Constructor for DeleteModuleComposite.
-	 * 
-	 * @param parent
-	 * @param style
-	 */
-	public DeleteModuleComposite(Composite parent, int style) {
-		super(parent, style);
-		addChildren();
-
-	}
-
-	protected void addChildren() {
-		addDeleteProjectsGroup();
-		addDeleteModuleRefsComposite();
-		//set default values
-		deleteAppProjectsBtn.setSelection(true);
-		deleteAppProjectsBtnSelected();
-	}
-
-	protected void addDeleteProjectsGroup() {
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 1;
-		setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-
-		radioComposite = new Composite(this, SWT.NONE);
-		lay = new GridLayout();
-		lay.numColumns = 2;
-		radioComposite.setLayout(lay);
-		data = new GridData(GridData.FILL_BOTH);
-		radioComposite.setLayoutData(data);
-		deleteAppProjectsBtn = new Button(radioComposite, SWT.RADIO);
-		deleteAppProjectsBtn.setText(DELETE_PROJECTS_ONLY);
-		deleteAppProjectsBtn.addListener(SWT.Selection, this);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		deleteAppProjectsBtn.setLayoutData(data);
-
-		deleteRefProjectsBtn = new Button(radioComposite, SWT.RADIO);
-		deleteRefProjectsBtn.setText(DELETE_PROJECT_REFERENCES);
-		deleteRefProjectsBtn.addListener(SWT.Selection, this);
-		deleteRefProjectsBtn.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-	}
-
-	protected void addDeleteModuleRefsComposite() {
-		moduleRefsComposite = new DeleteModuleReferencesComposite(this, SWT.NONE, false);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalIndent = 10;
-		moduleRefsComposite.setLayoutData(data);
-	}
-
-
-	protected void addSeparator() {
-		Label sep = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		sep.setLayoutData(data);
-	}
-
-	public boolean shouldDeleteProjects() {
-		//		return deleteProjectsCheckBox.getSelection();
-		// the project should be deleted, since delete was the selected action
-		return true;
-	}
-
-
-	public boolean shouldDeleteModuleDependencies() {
-		return moduleRefsComposite.shouldDeleteModuleDependencies();
-	}
-
-	public boolean shouldDeleteModules() {
-		return moduleRefsComposite.shouldDeleteModules();
-	}
-
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == deleteAppProjectsBtn)
-			deleteAppProjectsBtnSelected();
-		else if (event.widget == deleteRefProjectsBtn)
-			deleteRefProjectsBtnSelected();
-	}
-
-	protected void deleteAppProjectsBtnSelected() {
-		if (deleteAppProjectsBtn.getSelection()) {
-			moduleRefsComposite.setButtonsEnabled(false);
-		}
-	}
-
-	protected void deleteRefProjectsBtnSelected() {
-		if (deleteRefProjectsBtn.getSelection()) {
-			moduleRefsComposite.setButtonsEnabled(true);
-		}
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleDialog.java
deleted file mode 100644
index cfb80fe..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleDialog.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.delete.DeleteOptions;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-
-public class DeleteModuleDialog extends J2EEDeleteDialog implements J2EEDeleteUIConstants {
-
-	protected DeleteModuleComposite deleteComposite;
-
-	public DeleteModuleDialog(Shell parentShell) {
-		super(parentShell, DELETE_MODULE_OPTIONS);
-	}
-
-	protected Control createCustomArea(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJ2EEUIContextIds.DELEATE_MODULE_DIALOG_1); //$NON-NLS-1$
-		deleteComposite = new DeleteModuleComposite(parent, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalIndent = 10;
-		deleteComposite.setLayoutData(data);
-		return deleteComposite;
-	}
-
-	public void createDeleteOptions() {
-		deleteOptions = new DeleteOptions();
-		deleteOptions.setDeleteProjects(deleteComposite.shouldDeleteProjects());
-		deleteOptions.setDeleteModules(deleteComposite.shouldDeleteModules());
-		deleteOptions.setDeleteModuleDependencies(deleteComposite.shouldDeleteModuleDependencies());
-	}
-
-}
-
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleReferencesComposite.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleReferencesComposite.java
deleted file mode 100644
index 393189d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DeleteModuleReferencesComposite.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-public class DeleteModuleReferencesComposite extends Composite implements J2EEDeleteUIConstants, Listener {
-
-	protected Button deleteModulesCheckbox;
-	protected Button deleteModuleDependenciesCheckbox;
-	protected boolean isEARDelete;
-
-	/**
-	 * Constructor for DeleteModuleReferencesComposite.
-	 * 
-	 * @param parent
-	 * @param style
-	 */
-	public DeleteModuleReferencesComposite(Composite parent, int style, boolean isEARDelete) {
-		super(parent, style);
-		this.isEARDelete = isEARDelete;
-		addChildren();
-	}
-
-	protected void addChildren() {
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 1;
-		setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-
-		addDeleteModulesCheckbox();
-		addDeleteModuleDependenciesCheckbox();
-	}
-
-	protected void addDeleteModuleDependenciesCheckbox() {
-		deleteModuleDependenciesCheckbox = new Button(this, SWT.CHECK);
-		deleteModuleDependenciesCheckbox.setText(DELETE_MODULE_DEPENDENCIES);
-
-	}
-
-	protected void addDeleteModulesCheckbox() {
-		deleteModulesCheckbox = new Button(this, SWT.CHECK);
-		String label = isEARDelete ? DELETE_MODULES_OTHER : DELETE_MODULES;
-		deleteModulesCheckbox.setText(label);
-		deleteModulesCheckbox.addListener(SWT.Selection, this);
-	}
-
-	public boolean shouldDeleteModuleDependencies() {
-		return deleteModuleDependenciesCheckbox.getSelection();
-	}
-
-	public boolean shouldDeleteModules() {
-		return deleteModulesCheckbox.getSelection();
-	}
-
-	public void setButtonsEnabled(boolean enabled) {
-		deleteModuleDependenciesCheckbox.setSelection(enabled);
-		deleteModulesCheckbox.setSelection(enabled);
-		deleteModuleDependenciesCheckbox.setEnabled(enabled);
-		deleteModulesCheckbox.setEnabled(enabled);
-	}
-
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == deleteModulesCheckbox && deleteModulesCheckbox.getSelection() && !deleteModuleDependenciesCheckbox.getSelection())
-			deleteModuleDependenciesCheckbox.setSelection(true);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DependencyConflictResolveDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DependencyConflictResolveDialog.java
deleted file mode 100644
index 985c2ae..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/DependencyConflictResolveDialog.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov, stefan.dimov@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.widgets.*;
-
-public class DependencyConflictResolveDialog extends MessageDialogWithToggle {
-	
-	public static final int BTN_ID_OK = 0;
-	public static final int BTN_ID_CANCEL = 1;
-	
-	public static final int DLG_TYPE_1 = 1;
-	public static final int DLG_TYPE_2 = 2;
-	
-	public static final String DONT_SHOW_AGAIN = "DependencyConflictResolveDialog.DONT_SHOW_AGAIN";  //$NON-NLS-1$
-	
-	public DependencyConflictResolveDialog(Shell parentShell, 
-			int dlgType) {
-		
-		super(parentShell, 
-				J2EEUIMessages.getResourceString(J2EEUIMessages.DEPENDENCY_CONFLICT_TITLE), 
-				null, 
-				J2EEUIMessages.getResourceString((dlgType == DLG_TYPE_1) ? 
-						J2EEUIMessages.DEPENDENCY_CONFLICT_MSG_1 :
-						J2EEUIMessages.DEPENDENCY_CONFLICT_MSG_2)
-						
-				, MessageDialog.WARNING,
-				
-				new String[] { J2EEUIMessages.OK_BUTTON, 
-					J2EEUIMessages.CANCEL_BUTTON }, 
-				BTN_ID_CANCEL,
-				J2EEUIMessages.getResourceString(J2EEUIMessages.DO_NOT_SHOW_WARNING_AGAIN),
-				false);
-	}
-		
-	public int open() {
-		if (getPrefStore().getBoolean(DONT_SHOW_AGAIN))
-			return BTN_ID_OK;
-		setToggleState(getPrefStore().getBoolean(DONT_SHOW_AGAIN));
-		return super.open();
-	}
-	
-	public boolean close() {
-		getPrefStore().setValue(DONT_SHOW_AGAIN, getToggleState());
-		return super.close();
-	}
-	
-	public IPreferenceStore getPrefStore() {
-		return J2EEUIPlugin.getDefault().getPreferenceStore();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/FilteredFileSelectionDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/FilteredFileSelectionDialog.java
deleted file mode 100644
index 5442f2c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/FilteredFileSelectionDialog.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.internal.ui.wizards.TypedElementSelectionValidator;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-public class FilteredFileSelectionDialog extends ElementTreeSelectionDialog {
-	protected String[] fExtensions;
-	/**
-	 * FilteredFileSelectionDialog constructor comment.
-	 * 
-	 * @param parent
-	 *            Shell
-	 * @parent extensions String[]
-	 */
-	public FilteredFileSelectionDialog(Shell parent, String[] extensions) {
-		this(parent, null, null, extensions, false);
-	}
-	/**
-	 * FilteredFileSelectionDialog constructor comment.
-	 * 
-	 * @param parent
-	 *            Shell
-	 * @param title
-	 *            String
-	 * @param message
-	 *            String
-	 * @parent extensions String[]
-	 * @param allowMultiple
-	 *            boolean
-	 */
-	public FilteredFileSelectionDialog(Shell parent, String title, String message, String[] extensions, boolean allowMultiple) {
-		super(parent, new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-		setShellStyle(SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL | SWT.RESIZE);
-
-		setTitle(title);
-		if (title == null)
-			setTitle(J2EEUIMessages.getResourceString("File_Selection_UI_")); //$NON-NLS-1$
-		if (message == null)
-			message = J2EEUIMessages.getResourceString("Select_a_file__UI_"); //$NON-NLS-1$
-		setMessage(message);
-		setAllowMultiple(true);
-		setExtensions(extensions);
-		addFilter(new TypedFileViewerFilter(extensions));
-		setValidator(new TypedElementSelectionValidator(new Class[]{IFile.class}, allowMultiple));
-
-	}
-	public String[] getExtensions() {
-		return fExtensions;
-	}
-	public void setExtensions(String[] extensions) {
-		fExtensions = extensions;
-	}
-
-	public void setHelp(String helpCode) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this.getParentShell(), helpCode); //$NON-NLS-1$
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteDialog.java
deleted file mode 100644
index be97f20..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteDialog.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jst.j2ee.internal.delete.DeleteOptions;
-import org.eclipse.swt.widgets.Shell;
-
-
-public abstract class J2EEDeleteDialog extends MessageDialog implements J2EEDeleteUIConstants {
-
-	protected DeleteOptions deleteOptions;
-
-	/**
-	 * Constructor for J2EEDeleteDialog.
-	 * 
-	 * @param parentShell
-	 * @param dialogTitle
-	 * @param dialogTitleImage
-	 * @param dialogMessage
-	 * @param dialogImageType
-	 * @param dialogButtonLabels
-	 * @param defaultIndex
-	 */
-	public J2EEDeleteDialog(Shell parentShell, String dialogTitle) {
-		super(parentShell, dialogTitle, null, DELETE_DIALOG_MESSAGE, QUESTION, new String[]{IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0);
-	}
-
-	public DeleteOptions getDeleteOptions() {
-		return deleteOptions;
-	}
-
-
-	public abstract void createDeleteOptions();
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == 0)
-			createDeleteOptions();
-		super.buttonPressed(buttonId);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteUIConstants.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteUIConstants.java
deleted file mode 100644
index 2ae744b..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeleteUIConstants.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-public interface J2EEDeleteUIConstants {
-	String DELETE = J2EEUIMessages.getResourceString("Delete_1"); //$NON-NLS-1$
-	String DELETE_PROJECTS = J2EEUIMessages.getResourceString("Delete_selected_project(s)_2"); //$NON-NLS-1$
-	String DELETE_MODULES = J2EEUIMessages.getResourceString("Remove_module(s)_from_all_Enterprise_Applications_3"); //$NON-NLS-1$
-	String DELETE_MODULES_OTHER = J2EEUIMessages.getResourceString("Remove_module(s)_from_all_other_Enterprise_Applications_4"); //$NON-NLS-1$
-	String DELETE_MODULE_DEPENDENCIES = J2EEUIMessages.getResourceString("Remove_module_dependencies_referencing_selected_project(s)_5"); //$NON-NLS-1$
-	String DELETE_MODULE_OPTIONS = J2EEUIMessages.getResourceString("Delete_Module_Options_6"); //$NON-NLS-1$
-	String DELETE_EAR_OPTIONS = J2EEUIMessages.getResourceString("Delete_Enterprise_Application_Options_7"); //$NON-NLS-1$
-	String DELETE_NOT_COMPLETED = J2EEUIMessages.getResourceString("Delete_could_not_be_completed_8"); //$NON-NLS-1$
-	String DELETE_ERROR = J2EEUIMessages.getResourceString("Delete_error_9"); //$NON-NLS-1$
-	String DELETE_DIALOG_MESSAGE = J2EEUIMessages.getResourceString("What_would_you_like_to_delete__10"); //$NON-NLS-1$
-	String DELETE_EAR_PROJECTS = J2EEUIMessages.getResourceString("Delete_selected_Enterprise_Application_project(s)_only_11"); //$NON-NLS-1$
-	String DELETE_REFERENCED_PROJECTS = J2EEUIMessages.getResourceString("Also_delete_module_and_utility_Java_projects_12"); //$NON-NLS-1$
-	String DELETE_PROJECTS_ONLY = J2EEUIMessages.getResourceString("Delete_selected_project(s)_only_13"); //$NON-NLS-1$
-	String DELETE_PROJECT_REFERENCES = J2EEUIMessages.getResourceString("Also_delete_references_to_selected_project(s)_14"); //$NON-NLS-1$
-	String CUSTOM_DELETE_MIX_MATCH = J2EEUIMessages.getResourceString("CUSTOM_DELETE_MIX_MATCH_UI_"); //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployStatusDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployStatusDialog.java
deleted file mode 100644
index 9e29ba9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployStatusDialog.java
+++ /dev/null
@@ -1,334 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 11, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * @author sagarwal
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class J2EEDeployStatusDialog extends ProgressMonitorDialog implements J2EEDeployUIConstants {
-
-	/**
-	 * Reserve room for this many list items.
-	 */
-	private static final int LIST_ITEM_COUNT = 7;
-	private int severity = IStatus.OK;
-	public Color DESC_COLOR = new Color(null, 255, 255, 255);
-	/**
-	 * The Details button.
-	 */
-	private Button detailsButton;
-
-	/**
-	 * The SWT list control that displays the error details.
-	 */
-	private Text text;
-
-	/**
-	 * Indicates whether the error details viewer is currently created.
-	 */
-	private boolean textCreated = false;
-
-	/**
-	 * List of the main error object's detailed errors (element type:
-	 * <code>J2EEMigrationStatus</code>).
-	 */
-	private java.util.List statusList;
-
-	/**
-	 * @param parent
-	 */
-	public J2EEDeployStatusDialog(Shell parent, List status) {
-		super(parent);
-		setShellStyle(SWT.BORDER | SWT.TITLE | SWT.APPLICATION_MODAL | SWT.RESIZE); // no
-		statusList = status;
-	}
-
-	/**
-	 * Called just after the operation is run. Default behaviour is to decrement the nesting depth,
-	 * and close the dialog.
-	 * 
-	 * @plannedfor 3.0
-	 */
-	protected void finishedRun() {
-		decrementNestingDepth();
-		clearCursors();
-		cancel.setEnabled(true);
-		detailsButton.setEnabled(true);
-		computeSeverity();
-		setDeploymentStatus();
-	}
-
-	/**
-	 *  
-	 */
-	private void setDeploymentStatus() {
-		setMessageOrDefault();
-		imageLabel.setImage(getImage());
-	}
-
-	protected void setMessageOrDefault() {
-		switch (getSeverity()) {
-			case IStatus.ERROR :
-				message = DEPLOY_ERRORS_REPORT;
-				break;
-			case IStatus.WARNING :
-				message = DEPLOY_WARNINGS_REPORT;
-				break;
-			default :
-				message = DEPLOY_SUCCESS_REPORT;
-				break;
-		}
-		setMessage(message);
-	}
-
-
-	protected void createCancelButton(Composite parent) {
-		super.createCancelButton(parent);
-		cancel.setText(IDialogConstants.OK_LABEL);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		// cancel button
-		createCancelButton(parent);
-		detailsButton = createButton(parent, IDialogConstants.DETAILS_ID, IDialogConstants.SHOW_DETAILS_LABEL, false);
-		detailsButton.setEnabled(false);
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog. Handles the pressing of the Ok or Details button in
-	 * this dialog. If the Ok button was pressed then close this dialog. If the Details button was
-	 * pressed then toggle the displaying of the error details area. Note that the Details button
-	 * will only be visible if the error being displayed specifies child details.
-	 */
-	protected void buttonPressed(int id) {
-		if (id == IDialogConstants.DETAILS_ID) { // was the details button pressed?
-			toggleDetailsArea();
-		} else {
-			logStatus();
-			super.buttonPressed(id);
-
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.dialogs.IconAndMessageDialog#getImage()
-	 */
-
-
-	protected Image getImage() {
-		switch (getSeverity()) {
-			case IStatus.ERROR :
-				return this.getErrorImage();
-			case IStatus.WARNING :
-				return this.getWarningImage();
-			default :
-				return this.getInfoImage();
-		}
-	}
-
-	protected Text createDropDownText(Composite parent) {
-		// create the list
-		text = new Text(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
-		// fill the list
-		populateText(text);
-
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		data.horizontalSpan = 2;
-		data.heightHint = text.getLineHeight() * LIST_ITEM_COUNT;
-		text.setLayoutData(data);
-		textCreated = true;
-		return text;
-	}
-
-	private void logStatus() {
-		Iterator aenum = statusList.iterator();
-		StringBuffer sb = new StringBuffer();
-		sb.append(message);
-		while (aenum.hasNext()) {
-			IStatus childStatus = (IStatus) aenum.next();
-			populateText(sb, childStatus, 0);
-		}
-		Logger.getLogger().logInfo(sb.toString());
-
-	}
-
-	/**
-	 * Populates the list using this error dialog's status object. This walks the child stati of the
-	 * status object and displays them in a list. The format for each entry is status_path :
-	 * status_message If the status's path was null then it (and the colon) are omitted.
-	 */
-	private void populateText(Text someText) {
-		Iterator aenum = statusList.iterator();
-		StringBuffer sb = new StringBuffer();
-		while (aenum.hasNext()) {
-			IStatus childStatus = (IStatus) aenum.next();
-			//sb.append("Deployment results for " + childStatus.);
-			populateText(sb, childStatus, 0);
-		}
-		someText.setText(sb.toString());
-
-	}
-
-	private void populateText(StringBuffer sb, IStatus status, int nesting) {
-		for (int i = 0; i < nesting; i++) {
-			sb.append("  "); //$NON-NLS-1$
-		}
-		sb.append(getMessageForDisplay(status));
-		sb.append('\n');
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			populateText(sb, children[i], nesting + 1);
-		}
-	}
-
-	/**
-	 * Toggles the unfolding of the details area. This is triggered by the user pressing the details
-	 * button.
-	 */
-	private void toggleDetailsArea() {
-		Point windowSize = getShell().getSize();
-		Point oldSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		if (textCreated) {
-			text.dispose();
-			textCreated = false;
-			detailsButton.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		} else {
-			text = createDropDownText((Composite) getContents());
-			detailsButton.setText(IDialogConstants.HIDE_DETAILS_LABEL);
-			text.setEditable(false);
-			text.setBackground(DESC_COLOR);
-		}
-
-		Point newSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		getShell().setSize(new Point(windowSize.x, windowSize.y + (newSize.y - oldSize.y)));
-	}
-
-	public String getMessageForDisplay(IStatus status) {
-		String messageString = status.getMessage();
-		return messageString;
-
-	}
-
-	protected String getSeverityText(IStatus status) {
-		switch (status.getSeverity()) {
-			case IStatus.ERROR :
-				return ERROR_TEXT;
-			case IStatus.WARNING :
-				return WARNING_TEXT;
-			case IStatus.INFO :
-				return INFO_TEXT;
-			case IStatus.OK :
-				return OK_TEXT;
-			default :
-				return ""; //$NON-NLS-1$
-		}
-	}
-
-	private void setSeverity(int sev) {
-		if (severity == IStatus.ERROR)
-			return;
-		if (sev == IStatus.ERROR)
-			severity = IStatus.ERROR;
-		else if (sev == IStatus.WARNING) {
-			severity = IStatus.WARNING;
-		}
-	}
-
-	private int getSeverity() {
-		return severity;
-	}
-
-	private int computeSeverity() {
-		Iterator aenum = statusList.iterator();
-		while (aenum.hasNext()) {
-			IStatus childStatus = (IStatus) aenum.next();
-			setSeverity(childStatus.getSeverity());
-			if (getSeverity() == IStatus.ERROR)
-				return getSeverity();
-			computeSeverity(childStatus);
-			if (getSeverity() == IStatus.ERROR)
-				getSeverity();
-		}
-		return getSeverity();
-	}
-
-	private void computeSeverity(IStatus status) {
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			computeSeverity(children[i]);
-			if (getSeverity() == IStatus.ERROR)
-				return;
-		}
-	}
-
-	/*
-	 * (non-Javadoc) Method declared in Window.
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		shell.setText(DEPLOY_DIALOG_TITLE);
-		//shell.setSize(600,200); don't set the size this breaks the dialog for linux.
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Control control = super.createDialogArea(parent);
-		setMessage(DEPLOYMENT_IN_PROGRESS);
-		return control;
-	}
-
-	/**
-	 * Set the message in the message label.
-	 */
-	private void setMessage(String messageString) {
-		//must not set null text in a label
-		message = messageString == null ? "" : messageString; //$NON-NLS-1$
-		if (messageLabel == null || messageLabel.isDisposed())
-			return;
-		messageLabel.setText(message);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployUIConstants.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployUIConstants.java
deleted file mode 100644
index dfe3589..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EEDeployUIConstants.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-public interface J2EEDeployUIConstants {
-	public static final String ERROR_TEXT = J2EEUIMessages.getResourceString("DEPLOY_ERROR_TEXT"); //$NON-NLS-1$
-	public static final String WARNING_TEXT = J2EEUIMessages.getResourceString("DEPLOY_WARNING_TEXT"); //$NON-NLS-1$
-	public static final String INFO_TEXT = J2EEUIMessages.getResourceString("DEPLOY_INFO_TEXT"); //$NON-NLS-1$
-	public static final String OK_TEXT = J2EEUIMessages.getResourceString("DEPLOY_OK_TEXT"); //$NON-NLS-1$
-	public static final String DEPLOYMENT_IN_PROGRESS = J2EEUIMessages.getResourceString("DEPLOYMENT_IN_PROGRESS"); //$NON-NLS-1$
-	public static final String DEPLOY_SUCCESS_REPORT = J2EEUIMessages.getResourceString("DEPLOY_SUCCESS_REPORT"); //$NON-NLS-1$
-	public static final String DEPLOY_WARNINGS_REPORT = J2EEUIMessages.getResourceString("DEPLOY_WARNINGS_REPORT"); //$NON-NLS-1$
-	public static final String DEPLOY_ERRORS_REPORT = J2EEUIMessages.getResourceString("DEPLOY_ERRORS_REPORT"); //$NON-NLS-1$
-	public static final String DEPLOY_DIALOG_TITLE = J2EEUIMessages.getResourceString("DEPLOY_DIALOG_TITLE"); //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameDialog.java
deleted file mode 100644
index 6dcbf11..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameDialog.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jst.j2ee.internal.rename.RenameOptions;
-import org.eclipse.swt.widgets.Shell;
-
-
-public abstract class J2EERenameDialog extends MessageDialog implements J2EERenameUIConstants {
-
-	protected RenameOptions renameOptions;
-	protected String currentName = null;
-
-	/**
-	 * Constructor for J2EERenameDialog.
-	 * 
-	 * @param parentShell
-	 * @param dialogTitle
-	 * @param dialogTitleImage
-	 * @param dialogMessage
-	 * @param dialogImageType
-	 * @param dialogButtonLabels
-	 * @param defaultIndex
-	 */
-	public J2EERenameDialog(Shell parentShell, String dialogTitle, String name) {
-		super(parentShell, dialogTitle, null, RENAME_DIALOG_MESSAGE, QUESTION, new String[]{IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0);
-		currentName = name;
-	}
-
-	public RenameOptions getRenameOptions() {
-		return renameOptions;
-	}
-
-
-	public abstract void createRenameOptions();
-
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == 0)
-			createRenameOptions();
-		super.buttonPressed(buttonId);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameUIConstants.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameUIConstants.java
deleted file mode 100644
index baa574d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/J2EERenameUIConstants.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-public interface J2EERenameUIConstants {
-	String RENAME = J2EEUIMessages.getResourceString("Rename_1"); //$NON-NLS-1$
-	String RENAME_PROJECTS = J2EEUIMessages.getResourceString("Rename_selected_project_2"); //$NON-NLS-1$
-	String RENAME_MODULES = J2EEUIMessages.getResourceString("Rename_module_in_all_Enterprise_Applications_3"); //$NON-NLS-1$
-	String RENAME_MODULES_OTHER = J2EEUIMessages.getResourceString("Rename_module_in_all_other_Enterprise_Applications_4"); //$NON-NLS-1$
-	String RENAME_MODULE_DEPENDENCIES = J2EEUIMessages.getResourceString("Rename_module_dependencies_referencing_selected_project_5"); //$NON-NLS-1$
-	String RENAME_MODULE_OPTIONS = J2EEUIMessages.getResourceString("Rename_Module_Options_6"); //$NON-NLS-1$
-	String RENAME_EAR_OPTIONS = J2EEUIMessages.getResourceString("Rename_Enterprise_Application_Options_7"); //$NON-NLS-1$
-	String RENAME_NOT_COMPLETED = J2EEUIMessages.getResourceString("Rename_could_not_be_completed_8"); //$NON-NLS-1$
-	String RENAME_ERROR = J2EEUIMessages.getResourceString("Rename_error_9"); //$NON-NLS-1$
-	String RENAME_DIALOG_MESSAGE = J2EEUIMessages.getResourceString("What_would_you_like_to_rename_this_to__10"); //$NON-NLS-1$
-	String RENAME_CONTEXT_ROOT = J2EEUIMessages.getResourceString("Context_Root__11"); //$NON-NLS-1$
-	String RENAME_EAR_PROJECTS = J2EEUIMessages.getResourceString("Rename_selected_Enterprise_Application_project_only_12"); //$NON-NLS-1$
-	String RENAME_REFERENCED_PROJECTS = J2EEUIMessages.getResourceString("Also_rename_module_and_utility_Java_projects_13"); //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/ListMessageDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/ListMessageDialog.java
deleted file mode 100644
index 8808b1d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/ListMessageDialog.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Insert the type's description here. Creation date: (9/7/2001 11:28:24 AM)
- * 
- * @author: Administrator
- */
-public class ListMessageDialog extends org.eclipse.jface.dialogs.MessageDialog {
-	protected String[] listItems;
-	protected List list;
-
-	/**
-	 * EJBSelectiveImportDialog constructor comment.
-	 * 
-	 * @param parentShell
-	 *            org.eclipse.swt.widgets.Shell
-	 * @param dialogTitle
-	 *            java.lang.String
-	 * @param dialogTitleImage
-	 *            org.eclipse.swt.graphics.Image
-	 * @param dialogMessage
-	 *            java.lang.String
-	 * @param dialogImageType
-	 *            int
-	 * @param dialogButtonLabels
-	 *            java.lang.String[]
-	 * @param defaultIndex
-	 *            int
-	 */
-	public ListMessageDialog(org.eclipse.swt.widgets.Shell parentShell, String dialogTitle, org.eclipse.swt.graphics.Image dialogTitleImage, String dialogMessage, int dialogImageType, java.lang.String[] dialogButtonLabels, int defaultIndex) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-	}
-
-	/**
-	 * ListMessageDialog constructor comment.
-	 * 
-	 * @param parentShell
-	 *            org.eclipse.swt.widgets.Shell
-	 * @param dialogTitle
-	 *            java.lang.String
-	 * @param dialogTitleImage
-	 *            org.eclipse.swt.graphics.Image
-	 * @param dialogMessage
-	 *            java.lang.String
-	 * @param dialogImageType
-	 *            int
-	 * @param dialogButtonLabels
-	 *            java.lang.String[]
-	 * @param defaultIndex
-	 *            int
-	 */
-	public ListMessageDialog(org.eclipse.swt.widgets.Shell parentShell, String dialogTitle, org.eclipse.swt.graphics.Image dialogTitleImage, String dialogMessage, int dialogImageType, java.lang.String[] dialogButtonLabels, int defaultIndex, String[] names) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-		listItems = names;
-	}
-
-	/**
-	 * Creates and returns the contents of an area of the dialog which appears below the message and
-	 * above the button bar.
-	 * <p>
-	 * The default implementation of this framework method returns <code>null</code>. Subclasses
-	 * may override.
-	 * </p>
-	 * 
-	 * @param the
-	 *            parent composite to contain the custom area
-	 * @return the custom area control, or <code>null</code>
-	 */
-	protected Control createCustomArea(Composite parent) {
-
-		Composite composite = new Composite(parent, 0);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		if (listItems != null) {
-			list = new List(composite, SWT.BORDER);
-			GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-			list.setLayoutData(data);
-			list.setItems(listItems);
-		}
-
-		return composite;
-
-	}
-
-	/**
-	 * Convenience method to open a simple confirm (OK/Cancel) dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 * @return <code>true</code> if the user presses the OK button, <code>false</code> otherwise
-	 */
-	public static boolean openConfirm(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, QUESTION, new String[]{IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL}, 0, items); // OK
-		// is
-		// the
-		// default
-		return dialog.open() == 0;
-	}
-
-	/**
-	 * Convenience method to open a standard error dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 */
-	public static void openError(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, ERROR, new String[]{IDialogConstants.OK_LABEL}, 0, items); // ok is the
-		// default
-		dialog.open();
-		return;
-	}
-
-	/**
-	 * Convenience method to open a standard information dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 */
-	public static void openInformation(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, INFORMATION, new String[]{IDialogConstants.OK_LABEL}, 0, items);
-		// ok is the default
-		dialog.open();
-		return;
-	}
-
-	/**
-	 * Convenience method to open a simple Yes/No question dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 * @return <code>true</code> if the user presses the OK button, <code>false</code> otherwise
-	 */
-	public static boolean openQuestion(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, QUESTION, new String[]{IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL}, 0, items); // yes
-		// is
-		// the
-		// default
-		return dialog.open() == 0;
-	}
-
-	/**
-	 * Convenience method to open a standard warning dialog.
-	 * 
-	 * @param parent
-	 *            the parent shell of the dialog, or <code>null</code> if none
-	 * @param title
-	 *            the dialog's title, or <code>null</code> if none
-	 * @param message
-	 *            the message
-	 */
-	public static void openWarning(Shell parent, String title, String message, String[] items) {
-		ListMessageDialog dialog = new ListMessageDialog(parent, title, null, // accept the default
-					// window icon
-					message, WARNING, new String[]{IDialogConstants.OK_LABEL}, 0, items); // ok is
-		// the
-		// default
-		dialog.open();
-		return;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARComposite.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARComposite.java
deleted file mode 100644
index c74e3b8..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARComposite.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jst.j2ee.internal.rename.RenameOptions;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-
-public class RenameEARComposite extends Composite implements J2EERenameUIConstants, Listener, ICheckStateListener {
-
-	protected Button renameAppProjectsBtn;
-	protected Button renameRefProjectsBtn;
-	protected Composite radioComposite;
-	protected Button detailsBtn;
-	protected RenameModuleReferencesComposite moduleRefsComposite;
-	protected CheckboxTableViewer projectsList;
-	protected boolean listCreated = false;
-	protected Map referencedProjects;
-	protected WorkbenchLabelProvider workbenchLabelProvider = new WorkbenchLabelProvider();
-
-	/**
-	 * Constructor for RenameEARComposite.
-	 * 
-	 * @param parent
-	 * @param style
-	 */
-	public RenameEARComposite(Composite parent, int style, Set referencedProjects) {
-		super(parent, style);
-		initReferencedProjects(referencedProjects);
-		addChildren();
-	}
-
-	/**
-	 * Answer the referenced projects which the user has chosen to also rename
-	 */
-	public java.util.List getSelectedReferencedProjects() {
-		if (renameAppProjectsBtn.getSelection())
-			return Collections.EMPTY_LIST;
-		java.util.List result = new ArrayList();
-		for (Iterator iter = referencedProjects.entrySet().iterator(); iter.hasNext();) {
-			Map.Entry element = (Map.Entry) iter.next();
-			boolean isSelected = ((Boolean) element.getValue()).booleanValue();
-			if (isSelected)
-				result.add(element.getKey());
-		}
-		return result;
-	}
-
-	/**
-	 * @see J2EERenameDialog#createRenameOptions()
-	 */
-	public RenameOptions createRenameOptions() {
-		RenameOptions opts = new RenameOptions();
-		opts.setIsEARRename(true);
-		opts.setRenameProjects(true);
-		opts.setRenameModuleDependencies(moduleRefsComposite.shouldRenameModuleDependencies());
-		opts.setRenameModules(moduleRefsComposite.shouldRenameModules());
-		opts.setSelectedReferencedProjects(getSelectedReferencedProjects());
-		return opts;
-	}
-
-
-
-	protected void initReferencedProjects(Set projects) {
-		referencedProjects = new HashMap();
-		for (Iterator iter = projects.iterator(); iter.hasNext();) {
-			IProject project = (IProject) iter.next();
-			referencedProjects.put(project, Boolean.TRUE);
-		}
-	}
-
-	protected void addChildren() {
-		setLayout();
-		addRadioComposite();
-		moduleRefsComposite = new RenameModuleReferencesComposite(this, SWT.NONE, true);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		data.horizontalIndent = 10;
-		moduleRefsComposite.setLayoutData(data);
-	}
-
-	protected void setLayout() {
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 1;
-		setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-	}
-
-	protected void addRadioComposite() {
-		radioComposite = new Composite(this, SWT.NONE);
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 2;
-		radioComposite.setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		radioComposite.setLayoutData(data);
-		renameAppProjectsBtn = new Button(radioComposite, SWT.RADIO);
-		renameAppProjectsBtn.setText(RENAME_EAR_PROJECTS);
-		renameAppProjectsBtn.addListener(SWT.Selection, this);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		renameAppProjectsBtn.setLayoutData(data);
-
-		renameRefProjectsBtn = new Button(radioComposite, SWT.RADIO);
-		renameRefProjectsBtn.setText(RENAME_REFERENCED_PROJECTS);
-		renameRefProjectsBtn.addListener(SWT.Selection, this);
-		renameRefProjectsBtn.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		detailsBtn = new Button(radioComposite, SWT.PUSH);
-		detailsBtn.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		detailsBtn.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		detailsBtn.addListener(SWT.Selection, this);
-		detailsBtn.setEnabled(false);
-	}
-
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == renameAppProjectsBtn)
-			renameAppProjectsBtnSelected();
-		else if (event.widget == renameRefProjectsBtn)
-			renameRefProjectsBtnSelected();
-		else if (event.widget == detailsBtn)
-			detailsBtnSelected();
-	}
-
-	protected void renameAppProjectsBtnSelected() {
-		if (renameAppProjectsBtn.getSelection()) {
-			if (listCreated)
-				toggleDetailsArea();
-			detailsBtn.setEnabled(false);
-			moduleRefsComposite.setButtonsEnabled(false);
-		}
-	}
-
-	protected void renameRefProjectsBtnSelected() {
-		if (renameRefProjectsBtn.getSelection()) {
-			detailsBtn.setEnabled(true);
-			moduleRefsComposite.setButtonsEnabled(true);
-		}
-	}
-
-	/**
-	 * Toggles the unfolding of the details area. This is triggered by the user pressing the details
-	 * button.
-	 */
-	protected void toggleDetailsArea() {
-		Point windowSize = getShell().getSize();
-		Point oldSize = getParent().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		if (listCreated) {
-			projectsList.getControl().dispose();
-			listCreated = false;
-			detailsBtn.setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		} else {
-			createDropDownList();
-			detailsBtn.setText(IDialogConstants.HIDE_DETAILS_LABEL);
-		}
-
-		Point newSize = getParent().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-
-		getShell().setSize(new Point(windowSize.x, windowSize.y + (newSize.y - oldSize.y)));
-	}
-
-	protected void createDropDownList() {
-		// create the list
-		projectsList = CheckboxTableViewer.newCheckList(radioComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		projectsList.setLabelProvider(createLabelProvider());
-		projectsList.setSorter(new ViewerSorter() {/*viewersorter*/});
-		projectsList.addCheckStateListener(this);
-		// fill the list
-		populateList();
-
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = projectsList.getTable().getItemHeight() * referencedProjects.size();
-		data.horizontalSpan = 2;
-		data.horizontalIndent = 10;
-		projectsList.getTable().setLayoutData(data);
-
-		listCreated = true;
-	}
-
-	protected void populateList() {
-		for (Iterator iter = referencedProjects.entrySet().iterator(); iter.hasNext();) {
-			Map.Entry entry = (Map.Entry) iter.next();
-			projectsList.add(entry.getKey());
-			boolean checked = ((Boolean) entry.getValue()).booleanValue();
-			projectsList.setChecked(entry.getKey(), checked);
-		}
-	}
-
-	protected void detailsBtnSelected() {
-		toggleDetailsArea();
-	}
-
-	/**
-	 * @see ICheckStateListener#checkStateChanged(CheckStateChangedEvent)
-	 */
-	public void checkStateChanged(CheckStateChangedEvent event) {
-		referencedProjects.put(event.getElement(), new Boolean(event.getChecked()));
-	}
-
-	protected ITableLabelProvider createLabelProvider() {
-		return new ITableLabelProvider() {
-			public void dispose() {
-				//dispose
-			}
-
-			public Image getColumnImage(Object element, int columnIndex) {
-				return workbenchLabelProvider.getImage(element);
-			}
-
-			/**
-			 * @see ITableLabelProvider#getColumnText(Object, int)
-			 */
-			public String getColumnText(Object element, int columnIndex) {
-				return workbenchLabelProvider.getText(element);
-			}
-
-			public void addListener(ILabelProviderListener listener) {
-				//do nothing
-			}
-
-			public boolean isLabelProperty(Object element, String property) {
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener) {
-				//do nothing
-			}
-		};
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARDialog.java
deleted file mode 100644
index 770e058..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameEARDialog.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import java.util.Set;
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-public class RenameEARDialog extends J2EERenameDialog {
-	protected RenameEARComposite renameComposite;
-	protected Set referencedProjects;
-
-	/**
-	 * Constructor for RenameEARDialog.
-	 * 
-	 * @param parentShell
-	 * @param dialogTitle
-	 */
-	public RenameEARDialog(Shell parentShell, Set referencedProjects, String name) {
-		super(parentShell, RENAME_EAR_OPTIONS, name);
-		this.referencedProjects = referencedProjects;
-	}
-
-
-	/**
-	 * @see org.eclipse.jface.dialogs.MessageDialog#createCustomArea(Composite)
-	 */
-	protected Control createCustomArea(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJ2EEUIContextIds.RENAME_EAR_DIALOG_1); //$NON-NLS-1$
-		renameComposite = new RenameEARComposite(parent, SWT.NONE, referencedProjects);
-		//		renameComposite.setNewName(currentName);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalIndent = 10;
-		renameComposite.setLayoutData(data);
-		return renameComposite;
-	}
-
-	/**
-	 * @see J2EERenameDialog#createRenameOptions()
-	 */
-	public void createRenameOptions() {
-		renameOptions = renameComposite.createRenameOptions();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleComposite.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleComposite.java
deleted file mode 100644
index 0923fce..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleComposite.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-
-
-public class RenameModuleComposite extends Composite implements J2EERenameUIConstants, Listener {
-
-	// protected Button renameProjectsCheckBox;
-	protected RenameModuleReferencesComposite moduleRefsComposite;
-	protected Text newNameText = null;
-	protected Text newContextRootText = null;
-	protected Label newContextRootLabel = null;
-	protected String oldName = null;
-	protected Button OKButton = null;
-	protected Label statusMessageLabel = null;
-
-	/**
-	 * Constructor for RenameModuleComposite.
-	 * 
-	 * @param parent
-	 * @param style
-	 */
-	public RenameModuleComposite(Composite parent, int style) {
-		super(parent, style);
-		addChildren();
-	}
-
-	protected void addChildren() {
-		addRenameProjectsGroup();
-		addSeparator();
-		addRenameModuleRefsComposite();
-		//Add in a label for status messages if required
-		statusMessageLabel = new Label(this, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		statusMessageLabel.setLayoutData(data);
-		statusMessageLabel.setFont(this.getFont());
-	}
-
-	protected void addRenameProjectsGroup() {
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 2;
-		setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		setLayoutData(data);
-
-		newNameText = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		newNameText.setLayoutData(data);
-
-		newContextRootLabel = new Label(this, SWT.NONE);
-		newContextRootLabel.setText(RENAME_CONTEXT_ROOT);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		newContextRootLabel.setLayoutData(data);
-
-		newContextRootText = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		newContextRootText.setLayoutData(data);
-
-		/*
-		 * renameProjectsCheckBox = new Button(this, SWT.CHECK);
-		 * renameProjectsCheckBox.setText(RENAME_PROJECTS);
-		 * renameProjectsCheckBox.setSelection(true);
-		 * renameProjectsCheckBox.addListener(SWT.Selection, this); data = new
-		 * GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2;
-		 * renameProjectsCheckBox.setLayoutData(data);
-		 */
-	}
-
-	protected void addRenameModuleRefsComposite() {
-		moduleRefsComposite = new RenameModuleReferencesComposite(this, SWT.NONE, false);
-	}
-
-	protected void addSeparator() {
-		Label sep = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		sep.setLayoutData(data);
-	}
-
-	public boolean shouldRenameProjects() {
-		//  return renameProjectsCheckBox.getSelection();
-		// always rename the project
-		return true;
-	}
-
-	public boolean shouldRenameModuleDependencies() {
-		return moduleRefsComposite.shouldRenameModuleDependencies();
-	}
-
-	public boolean shouldRenameModules() {
-		return moduleRefsComposite.shouldRenameModules();
-	}
-
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == newNameText && OKButton != null) {
-			String newName = newNameText.getText();
-			if (newName.trim().length() == 0) {
-				statusMessageLabel.setText("");//$NON-NLS-1$
-				OKButton.setEnabled(false);
-				return;
-			}
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			IProject newProject = root.getProject(newName);
-			if (newProject.exists()) {
-				statusMessageLabel.setForeground(JFaceColors.getErrorText(statusMessageLabel.getDisplay()));
-				String[] names = {newName};
-				statusMessageLabel.setText(MessageFormat.format(J2EEUIMessages.getResourceString("Project_already_exists."), names)); //$NON-NLS-1$
-				OKButton.setEnabled(false);
-			} else {
-				statusMessageLabel.setText("");//$NON-NLS-1$
-				OKButton.setEnabled(true);
-			}
-		}
-	}
-
-	public String getNewName()
-
-	{
-		return newNameText.getText();
-	}
-
-	public void setNewName(String newName) {
-		oldName = newName;
-		newNameText.setText(newName);
-		newNameText.selectAll();
-		newNameText.addListener(SWT.Modify, this);
-	}
-
-	public String getNewContextRoot() {
-		return newContextRootText.getText();
-	}
-
-	public void setNewContextRoot(String newContextRoot) {
-		if (newContextRoot != null && newContextRoot.length() > 1) {
-			newContextRootText.setText(newContextRoot);
-		} else {
-			newContextRootLabel.setVisible(false);
-			newContextRootText.setVisible(false);
-		}
-	}
-
-	/**
-	 * Sets the OKButton.
-	 * 
-	 * @param OKButton
-	 *            The OKButton to set
-	 */
-	public void setOKButton(Button oKButton) {
-		OKButton = oKButton;
-		OKButton.setEnabled(false);
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleDialog.java
deleted file mode 100644
index a5ea814..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleDialog.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.rename.RenameOptions;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-
-public class RenameModuleDialog extends J2EERenameDialog implements J2EERenameUIConstants {
-
-	protected RenameModuleComposite renameComposite;
-	protected String contextRoot = null;
-
-	public RenameModuleDialog(Shell parentShell, String name, String oldContextRoot) {
-		super(parentShell, RENAME_MODULE_OPTIONS, name);
-		contextRoot = oldContextRoot;
-	}
-
-	protected Control createCustomArea(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJ2EEUIContextIds.RENAME_MODULE_DIALOG_1); //$NON-NLS-1$
-		renameComposite = new RenameModuleComposite(parent, SWT.NONE);
-		renameComposite.setNewName(currentName);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalIndent = 10;
-		renameComposite.setLayoutData(data);
-		renameComposite.setNewContextRoot(contextRoot);
-		return renameComposite;
-	}
-
-	public void createRenameOptions() {
-		renameOptions = new RenameOptions();
-		renameOptions.setRenameProjects(renameComposite.shouldRenameProjects());
-		renameOptions.setRenameModules(renameComposite.shouldRenameModules());
-		renameOptions.setRenameModuleDependencies(renameComposite.shouldRenameModuleDependencies());
-		renameOptions.setNewName(renameComposite.getNewName());
-		renameOptions.setNewContextRoot(renameComposite.getNewContextRoot());
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		Button OKButton = null;
-		super.createButtonsForButtonBar(parent);
-		OKButton = getButton(0);
-		renameComposite.setOKButton(OKButton);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleReferencesComposite.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleReferencesComposite.java
deleted file mode 100644
index 7614aab..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RenameModuleReferencesComposite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-public class RenameModuleReferencesComposite extends Composite implements J2EERenameUIConstants, Listener {
-
-	protected Button renameModulesCheckbox;
-	protected Button renameModuleDependenciesCheckbox;
-	protected boolean isEARRename;
-
-	/**
-	 * Constructor for RenameModuleReferencesComposite.
-	 * 
-	 * @param parent
-	 * @param style
-	 */
-	public RenameModuleReferencesComposite(Composite parent, int style, boolean isEARRename) {
-		super(parent, style);
-		this.isEARRename = isEARRename;
-		addChildren();
-	}
-
-	protected void addChildren() {
-		GridLayout lay = new GridLayout();
-		lay.numColumns = 1;
-		setLayout(lay);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		setLayoutData(data);
-
-		addRenameModulesCheckbox();
-		addRenameModuleDependenciesCheckbox();
-	}
-
-	protected void addRenameModuleDependenciesCheckbox() {
-		renameModuleDependenciesCheckbox = new Button(this, SWT.CHECK);
-		renameModuleDependenciesCheckbox.setSelection(true);
-		renameModuleDependenciesCheckbox.setText(RENAME_MODULE_DEPENDENCIES);
-
-	}
-
-	protected void addRenameModulesCheckbox() {
-		renameModulesCheckbox = new Button(this, SWT.CHECK);
-		renameModulesCheckbox.setSelection(true);
-		String label = isEARRename ? RENAME_MODULES_OTHER : RENAME_MODULES;
-		renameModulesCheckbox.setText(label);
-		renameModulesCheckbox.addListener(SWT.Selection, this);
-	}
-
-	public boolean shouldRenameModuleDependencies() {
-		return renameModuleDependenciesCheckbox.getSelection();
-	}
-
-	public boolean shouldRenameModules() {
-		return renameModulesCheckbox.getSelection();
-	}
-
-	public void setButtonsEnabled(boolean enabled) {
-		renameModuleDependenciesCheckbox.setSelection(enabled);
-		renameModulesCheckbox.setSelection(enabled);
-		renameModuleDependenciesCheckbox.setEnabled(enabled);
-		renameModulesCheckbox.setEnabled(enabled);
-	}
-
-	/**
-	 * @see Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == renameModulesCheckbox && renameModulesCheckbox.getSelection() && !renameModuleDependenciesCheckbox.getSelection())
-			renameModuleDependenciesCheckbox.setSelection(true);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RuntimeSelectionDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RuntimeSelectionDialog.java
deleted file mode 100644
index a49b922..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/RuntimeSelectionDialog.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/**
- * 
- */
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.forms.events.IHyperlinkListener;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.wst.server.core.IRuntime;
-
-
-/**
- * @author Administrator
- *
- */
-public class RuntimeSelectionDialog extends MessageDialog {
-	private IProject project = null;
-	private String configuredMessage;
-
-	/**
-	 * @param parentShell
-	 * @param dialogTitle
-	 * @param dialogTitleImage
-	 * @param dialogMessage
-	 * @param dialogImageType
-	 * @param dialogButtonLabels
-	 * @param defaultIndex
-	 */
-	public RuntimeSelectionDialog(Shell parentShell, String dialogTitle,
-			Image dialogTitleImage, String dialogMessage, int dialogImageType,
-			String[] dialogButtonLabels, int defaultIndex, IProject project) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage,
-				dialogImageType, dialogButtonLabels, defaultIndex);
-		this.project = project;
-		this.configuredMessage = MessageFormat.format(J2EEUIMessages.getResourceString("DEPLOY_RUNTIME_CONFIGURED"), new String []{project.getName()});
-	}
-	
-	protected Control createCustomArea(Composite parent) {
-
-		//Composite composite = new Composite(parent, 0);
-		createHyperLink(parent);
-		return parent;
-
-	}
-	
-	private void createHyperLink(Composite parent) {
-		Hyperlink link = new Hyperlink(parent,SWT.None);
-		GridData layout = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		layout.horizontalSpan = 2;
-		link.setLayoutData(layout);
-		link.setUnderlined(true);
-		Color color = new Color(parent.getDisplay(),new RGB(0,0,255) );
-		link.setForeground(color);
-		link.setText("Configure Target Runtime...");
-		link.addHyperlinkListener(new IHyperlinkListener() {
-			public static final String DATA_NO_LINK = "PropertyAndPreferencePage.nolink"; //$NON-NLS-1$
-
-			public void linkEntered(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-			}
-
-			public void linkExited(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-			}
-
-			public void linkActivated(org.eclipse.ui.forms.events.HyperlinkEvent e) {
-				String id = getPreferencePageID();
-				PreferencesUtil.createPropertyDialogOn(getShell(), project, id, new String[]{id}, DATA_NO_LINK).open(); //
-				//(getShell(), id, new String[]{id}, DATA_NO_LINK).open();
-				try {
-					updateWidgets();
-				} catch (Exception ie) {
-
-				}
-			}
-
-			private String getPreferencePageID() {
-				return "org.eclipse.wst.common.project.facet.ui.internal.RuntimesPropertyPage";
-			}
-		});
-		
-	}
-	
-	private void updateWidgets() {
-		if (getTargetRuntime() != null) {
-		  messageLabel.setText(configuredMessage);
-		  imageLabel.setImage(this.getInfoImage());
-		} else {
-		  messageLabel.setText(message);
-		  imageLabel.setImage(getErrorImage());
-		}
-				
-	}
-
-	private IRuntime getTargetRuntime() {
-		try {
-			IRuntime runtime = J2EEProjectUtilities.getServerRuntime(project);
-			return runtime;
-		} catch (CoreException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TwoArrayQuickSorter.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TwoArrayQuickSorter.java
deleted file mode 100644
index 62d6907..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TwoArrayQuickSorter.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-/**
- * @author jialin
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-import java.util.Comparator;
-
-import org.eclipse.jface.util.Assert;
-
-/**
- * Quick sort to sort key-value pairs. The keys and arrays are specified in
- * separate arrays.
- * 
- * @plannedfor 2.0
- */
-public class TwoArrayQuickSorter {
-
-	private Comparator fComparator;
-
-	/**
-	 * Default comparator.
-	 */
-	public static final class StringComparator implements Comparator {
-		private boolean fIgnoreCase;
-
-		StringComparator(boolean ignoreCase) {
-			fIgnoreCase = ignoreCase;
-		}
-
-		public int compare(Object left, Object right) {
-			return fIgnoreCase ? ((String) left).compareToIgnoreCase((String) right) : ((String) left).compareTo((String) right);
-		}
-	}
-
-	/**
-	 * Creates a sorter with default string comparator. The keys are assumed to
-	 * be strings.
-	 * 
-	 * @param ignoreCase
-	 *            specifies whether sorting is case sensitive or not.
-	 */
-	public TwoArrayQuickSorter(boolean ignoreCase) {
-		fComparator = new StringComparator(ignoreCase);
-	}
-
-	/**
-	 * Creates a sorter with a comparator.
-	 * 
-	 * @param comparator
-	 *            the comparator to order the elements. The comparator must not
-	 *            be <code>null</code>.
-	 */
-	public TwoArrayQuickSorter(Comparator comparator) {
-		fComparator = comparator;
-	}
-
-	/**
-	 * Sorts keys and values in parallel.
-	 * 
-	 * @param keys
-	 *            the keys to use for sorting.
-	 * @param values
-	 *            the values associated with the keys.
-	 */
-	public void sort(Object[] keys, Object[] values) {
-		if ((keys == null) || (values == null)) {
-			Assert.isTrue(false, "Either keys or values in null"); //$NON-NLS-1$
-			return;
-		}
-
-		if (keys.length <= 1)
-			return;
-
-		internalSort(keys, values, 0, keys.length - 1);
-	}
-
-	private void internalSort(Object[] keys, Object[] values, int left, int right) {
-		int original_left = left;
-		int original_right = right;
-
-		Object mid = keys[(left + right) / 2];
-		do {
-			while (fComparator.compare(keys[left], mid) < 0)
-				left++;
-
-			while (fComparator.compare(mid, keys[right]) < 0)
-				right--;
-
-			if (left <= right) {
-				swap(keys, left, right);
-				swap(values, left, right);
-				left++;
-				right--;
-			}
-		} while (left <= right);
-
-		if (original_left < right)
-			internalSort(keys, values, original_left, right);
-
-		if (left < original_right)
-			internalSort(keys, values, left, original_right);
-	}
-
-	/*
-	 * Swaps x[a] with x[b].
-	 */
-	private static final void swap(Object x[], int a, int b) {
-		Object t = x[a];
-		x[a] = x[b];
-		x[b] = t;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeJavaSearchScope.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeJavaSearchScope.java
deleted file mode 100644
index 6c430f6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeJavaSearchScope.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IOpenable;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-
-/**
- * This class was derived from JavaSearchScope as that class did not have a
- * provision to exclude classpath entries that are not exported A Java-specific
- * scope for searching relative to one or more java elements.
- */
-public class TypeJavaSearchScope implements IJavaSearchScope {
-
-	private boolean includeExportedClassPathEntriesOnly = true;
-
-	private ArrayList elements;
-
-	/*
-	 * The paths of the resources in this search scope (or the classpath
-	 * entries' paths if the resources are projects)
-	 */
-	private IPath[] paths;
-	private boolean[] pathWithSubFolders;
-	private int pathsCount;
-
-	private IPath[] enclosingProjectsAndJars;
-
-	public TypeJavaSearchScope() {
-		this.initialize();
-
-		// disabled for now as this could be expensive
-		// JavaModelManager.getJavaModelManager().rememberScope(this);
-	}
-
-	private void addEnclosingProjectOrJar(IPath path) {
-		int length = this.enclosingProjectsAndJars.length;
-		for (int i = 0; i < length; i++) {
-			if (this.enclosingProjectsAndJars[i].equals(path))
-				return;
-		}
-		System.arraycopy(this.enclosingProjectsAndJars, 0, this.enclosingProjectsAndJars = new IPath[length + 1], 0, length);
-		this.enclosingProjectsAndJars[length] = path;
-	}
-
-	/**
-	 * Method addProject. This method adds all the classpath entries for the
-	 * current project to the search scope.
-	 * 
-	 * @param javaProject
-	 * @param includesPrereqProjects
-	 * @param visitedProjects
-	 * @throws JavaModelException
-	 */
-	public void addProject(IJavaProject javaProject, boolean includesPrereqProjects, HashSet visitedProjects) throws JavaModelException {
-		IProject project = javaProject.getProject();
-		if (!project.isAccessible() || !visitedProjects.add(project))
-			return;
-
-		this.addEnclosingProjectOrJar(project.getFullPath());
-
-		IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-		IJavaModel model = javaProject.getJavaModel();
-		for (int i = 0, length = entries.length; i < length; i++) {
-			IClasspathEntry entry = entries[i];
-			switch (entry.getEntryKind()) {
-				case IClasspathEntry.CPE_LIBRARY :
-					IPath path = entry.getPath();
-					this.add(path, true);
-					this.addEnclosingProjectOrJar(path);
-					break;
-				case IClasspathEntry.CPE_PROJECT :
-					if (includesPrereqProjects) {
-						this.add(model.getJavaProject(entry.getPath().lastSegment()), true, visitedProjects);
-					}
-					break;
-				case IClasspathEntry.CPE_SOURCE :
-					this.add(entry.getPath(), true);
-					break;
-			}
-		}
-	}
-
-	/**
-	 * Method add. This method filters out all the classpath entries of the
-	 * project which are not exported.
-	 * 
-	 * @param javaProject
-	 * @param includesPrereqProjects
-	 * @param visitedProjects
-	 * @throws JavaModelException
-	 */
-	public void add(IJavaProject javaProject, boolean includesPrereqProjects, HashSet visitedProjects) throws JavaModelException {
-		IProject project = javaProject.getProject();
-		if (!project.isAccessible() || !visitedProjects.add(project))
-			return;
-
-		this.addEnclosingProjectOrJar(project.getFullPath());
-
-		IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-		IJavaModel model = javaProject.getJavaModel();
-		for (int i = 0, length = entries.length; i < length; i++) {
-			IClasspathEntry entry = entries[i];
-			if (includeExportedClassPathEntriesOnly()) {
-				if (!entry.isExported() && entry.getEntryKind() != IClasspathEntry.CPE_SOURCE)
-					continue;
-			}
-			switch (entry.getEntryKind()) {
-				case IClasspathEntry.CPE_LIBRARY :
-					IPath path = entry.getPath();
-					this.add(path, true);
-					this.addEnclosingProjectOrJar(path);
-					break;
-				case IClasspathEntry.CPE_PROJECT :
-					if (includesPrereqProjects) {
-						this.add(model.getJavaProject(entry.getPath().lastSegment()), true, visitedProjects);
-					}
-					break;
-				case IClasspathEntry.CPE_SOURCE :
-					this.add(entry.getPath(), true);
-					break;
-			}
-		}
-	}
-	public void add(IJavaElement element) throws JavaModelException {
-		IPackageFragmentRoot root = null;
-		switch (element.getElementType()) {
-			case IJavaElement.JAVA_MODEL :
-				// a workspace sope should be used
-				break;
-			case IJavaElement.JAVA_PROJECT :
-				this.add((IJavaProject) element, true, new HashSet(2));
-				break;
-			case IJavaElement.PACKAGE_FRAGMENT_ROOT :
-				root = (IPackageFragmentRoot) element;
-				this.add(root.getPath(), true);
-				break;
-			case IJavaElement.PACKAGE_FRAGMENT :
-				root = (IPackageFragmentRoot) element.getParent();
-				if (root.isArchive()) {
-					this.add(root.getPath().append(new Path(element.getElementName().replace('.', '/'))), false);
-				} else {
-					IResource resource = element.getUnderlyingResource();
-					if (resource != null && resource.isAccessible()) {
-						this.add(resource.getFullPath(), false);
-					}
-				}
-				break;
-			default :
-				// remember sub-cu (or sub-class file) java elements
-				if (element instanceof IMember) {
-					if (this.elements == null) {
-						this.elements = new ArrayList();
-					}
-					this.elements.add(element);
-				}
-				this.add(this.fullPath(element), true);
-
-				// find package fragment root including this java element
-				IJavaElement parent = element.getParent();
-				while (parent != null && !(parent instanceof IPackageFragmentRoot)) {
-					parent = parent.getParent();
-				}
-				if (parent instanceof IPackageFragmentRoot) {
-					root = (IPackageFragmentRoot) parent;
-				}
-		}
-
-		if (root != null) {
-			if (root.getKind() == IPackageFragmentRoot.K_BINARY) {
-				this.addEnclosingProjectOrJar(root.getPath());
-			} else {
-				this.addEnclosingProjectOrJar(root.getJavaProject().getProject().getFullPath());
-			}
-		}
-	}
-
-	/**
-	 * Adds the given path to this search scope. Remember if subfolders need to
-	 * be included as well.
-	 */
-	private void add(IPath path, boolean withSubFolders) {
-		if (this.paths.length == this.pathsCount) {
-			System.arraycopy(this.paths, 0, this.paths = new IPath[this.pathsCount * 2], 0, this.pathsCount);
-			System.arraycopy(this.pathWithSubFolders, 0, this.pathWithSubFolders = new boolean[this.pathsCount * 2], 0, this.pathsCount);
-		}
-		this.paths[this.pathsCount] = path;
-		this.pathWithSubFolders[this.pathsCount++] = withSubFolders;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see IJavaSearchScope#encloses(String)
-	 */
-	public boolean encloses(String resourcePathString) {
-		IPath resourcePath;
-		int separatorIndex = resourcePathString.indexOf(JAR_FILE_ENTRY_SEPARATOR);
-		if (separatorIndex != -1) {
-			resourcePath = new Path(resourcePathString.substring(0, separatorIndex)).append(new Path(resourcePathString.substring(separatorIndex + 1)));
-		} else {
-			resourcePath = new Path(resourcePathString);
-		}
-		return this.encloses(resourcePath);
-	}
-
-	/**
-	 * Returns whether this search scope encloses the given path.
-	 */
-	private boolean encloses(IPath path) {
-		for (int i = 0; i < this.pathsCount; i++) {
-			if (this.pathWithSubFolders[i]) {
-				if (this.paths[i].isPrefixOf(path)) {
-					return true;
-				}
-			} else {
-				IPath scopePath = this.paths[i];
-				if (scopePath.isPrefixOf(path) && (scopePath.segmentCount() == path.segmentCount() - 1)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see IJavaSearchScope#encloses(IJavaElement)
-	 */
-	public boolean encloses(IJavaElement element) {
-		if (this.elements != null) {
-			for (int i = 0, length = this.elements.size(); i < length; i++) {
-				IJavaElement scopeElement = (IJavaElement) this.elements.get(i);
-				IJavaElement searchedElement = element;
-				while (searchedElement != null) {
-					if (searchedElement.equals(scopeElement)) {
-						return true;
-					} 
-					searchedElement = searchedElement.getParent();
-				}
-			}
-			return false;
-		}
-		return this.encloses(this.fullPath(element));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see IJavaSearchScope#enclosingProjectsAndJars()
-	 */
-	public IPath[] enclosingProjectsAndJars() {
-		return this.enclosingProjectsAndJars;
-	}
-	private IPath fullPath(IJavaElement element) {
-		if (element instanceof IPackageFragmentRoot) {
-			return ((IPackageFragmentRoot) element).getPath();
-		} 
-		IJavaElement parent = element.getParent();
-		IPath parentPath = parent == null ? null : this.fullPath(parent);
-		IPath childPath;
-		if (element instanceof IPackageFragment) {
-			childPath = new Path(element.getElementName().replace('.', '/'));
-		} else if (element instanceof IOpenable) {
-			childPath = new Path(element.getElementName());
-		} else {
-			return parentPath;
-		}
-		return parentPath == null ? childPath : parentPath.append(childPath);
-	}
-
-	protected void initialize() {
-		this.paths = new IPath[1];
-		this.pathWithSubFolders = new boolean[1];
-		this.pathsCount = 0;
-		this.enclosingProjectsAndJars = new IPath[0];
-	}
-	/**
-	 * Gets the includeExportedClassPathEntriesOnly.
-	 * 
-	 * @return Returns a boolean
-	 */
-	public boolean includeExportedClassPathEntriesOnly() {
-		return includeExportedClassPathEntriesOnly;
-	}
-
-	/**
-	 * Sets the includeExportedClassPathEntriesOnly.
-	 * 
-	 * @param includeExportedClassPathEntriesOnly
-	 *            The includeExportedClassPathEntriesOnly to set
-	 */
-	public void setIncludeExportedClassPathEntriesOnly(boolean includeExportedClassPathEntriesOnly) {
-		this.includeExportedClassPathEntriesOnly = includeExportedClassPathEntriesOnly;
-	}
-	/**
-	 * @see IJavaSearchScope#includesBinaries()
-	 * @deprecated
-	 */
-	public boolean includesBinaries() {
-		return true;
-	}
-
-	/**
-	 * @see IJavaSearchScope#includesClasspaths()
-	 * @deprecated
-	 */
-	public boolean includesClasspaths() {
-		return true;
-	}
-
-	/**
-	 * @see IJavaSearchScope#setIncludesBinaries(boolean)
-	 * @deprecated
-	 */
-	public void setIncludesBinaries(boolean includesBinaries) {
-		//Default nothing
-	}
-
-	/**
-	 * @see IJavaSearchScope#setIncludesClasspaths(boolean)
-	 * @deprecated
-	 */
-	public void setIncludesClasspaths(boolean includesClasspaths) {
-		//Default nothing
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeSearchEngine.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeSearchEngine.java
deleted file mode 100644
index 353d443..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypeSearchEngine.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import java.util.HashSet;
-
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.core.search.SearchEngine;
-
-public class TypeSearchEngine extends SearchEngine {
-
-	/**
-	 * Constructor for TypeSearchEngine.
-	 */
-	public TypeSearchEngine() {
-		super();
-	}
-
-	/**
-	 * Constructor for TypeSearchEngine.
-	 * 
-	 * @param workingCopies
-	 */
-	public TypeSearchEngine(ICompilationUnit[] workingCopies) {
-		super(workingCopies);
-	}
-
-	/**
-	 * Method createJavaSearchScopeForAProject. Given a project it returns the
-	 * scope of the classes within the project's scope
-	 * 
-	 * @param project
-	 * @param includeReferencedProjects
-	 * @param includeExportedClassPathEntriesOnly
-	 * @return IJavaSearchScope
-	 */
-	public static IJavaSearchScope createJavaSearchScopeForAProject(IJavaProject project, boolean includeReferencedProjects, boolean includeExportedClassPathEntriesOnly) {
-		if (!includeExportedClassPathEntriesOnly) {
-			IJavaElement javaElements[] = new IJavaElement[]{project};
-			return SearchEngine.createJavaSearchScope(javaElements, includeReferencedProjects);
-		}
-		TypeJavaSearchScope scope = new TypeJavaSearchScope();
-		scope.setIncludeExportedClassPathEntriesOnly(true);
-		HashSet visitedProjects = new HashSet(2);
-		try {
-			scope.addProject(project, includeReferencedProjects, visitedProjects);
-		} catch (JavaModelException e) {
-			// ignore
-		}
-		return scope;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypedFileViewerFilter.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypedFileViewerFilter.java
deleted file mode 100644
index 7b42534..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/dialogs/TypedFileViewerFilter.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.dialogs;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.Viewer;
-
-public class TypedFileViewerFilter extends org.eclipse.jface.viewers.ViewerFilter {
-	private String[] fAcceptedExtensions;
-	private Hashtable visitedElements;
-	public TypedFileViewerFilter(String[] acceptedExtensions) {
-		fAcceptedExtensions = acceptedExtensions;
-		visitedElements = new Hashtable();
-	}
-	public boolean isFilterProperty(Object element, Object property) {
-		return false;
-	}
-	public boolean isValid(Object element) {
-		if (IFile.class.isInstance(element))
-			return isValidFile((IFile) element);
-		if (IContainer.class.isInstance(element))
-			return isValidContainer((IContainer) element);
-		return false;
-	}
-	/*
-	 * A valid container is one that contains at least one valid member.
-	 */
-	public boolean isValidContainer(IContainer container) {
-		IResource[] members;
-		Object valid = visitedElements.get(container);
-		if (valid != null)
-			return ((Boolean) valid).booleanValue();
-		try {
-			members = container.members();
-			for (int i = 0; i < members.length; i++) {
-				if (isValid(members[i])) {
-					visitedElements.put(container, Boolean.TRUE);
-					return true;
-				}
-			}
-		} catch (CoreException e) {
-			// Do nothing
-		}
-		visitedElements.put(container, Boolean.FALSE);
-		return false;
-	}
-	public boolean isValidFile(IFile file) {
-		String ext = file.getFileExtension();
-		for (int i = 0; i < fAcceptedExtensions.length; i++) {
-			if (fAcceptedExtensions[i].equalsIgnoreCase(ext)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return isValid(element);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ArchiveEARUIResourceHandler.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ArchiveEARUIResourceHandler.java
deleted file mode 100644
index 1682ee1..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ArchiveEARUIResourceHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.ear.actions;
-
-
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ArchiveEARUIResourceHandler {
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("archiveearui");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String, String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle = getResourceBundle();
-		}
-
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		}
-		return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-	}
-
-	public static String getString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getString(key);
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/EARImportListContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/EARImportListContentProvider.java
deleted file mode 100644
index 31c2471..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/EARImportListContentProvider.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ear.actions;
-
-
-import org.eclipse.jst.j2ee.internal.wizard.TableObjects;
-
-/**
- * Insert the type's description here. Creation date: (5/7/2001 11:39:11 AM)
- * 
- * @author: Administrator
- */
-public class EARImportListContentProvider implements org.eclipse.jface.viewers.IStructuredContentProvider {
-	/**
-	 * EARImportListContentProvider constructor comment.
-	 */
-	public EARImportListContentProvider() {
-		super();
-	}
-
-	/**
-	 * Disposes of this content provider. This is called by the viewer when it is disposed.
-	 */
-	public void dispose() {
-		//dispose
-	}
-
-	/**
-	 * Returns the elements to display in the viewer when its input is set to the given element.
-	 * These elements can be presented as rows in a table, items in a list, etc. The result is not
-	 * modified by the viewer.
-	 * 
-	 * @param inputElement
-	 *            the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public java.lang.Object[] getElements(Object inputElement) {
-		if (inputElement instanceof TableObjects)
-			return ((TableObjects) inputElement).getTableObjects().toArray();
-		return new Object[0]; //should throw exception instead
-	}
-
-	/**
-	 * Notifies this content provider that the given viewer's input has been switched to a different
-	 * element.
-	 * <p>
-	 * A typical use for this method is registering the content provider as a listener to changes on
-	 * the new input (using model-specific means), and deregistering the viewer from the old input.
-	 * In response to these change notifications, the content provider propagates the changes to the
-	 * viewer.
-	 * </p>
-	 * 
-	 * @param viewer
-	 *            the viewer
-	 * @param oldInput
-	 *            the old input element, or <code>null</code> if the viewer did not previously
-	 *            have an input
-	 * @param newInput
-	 *            the new input element, or <code>null</code> if the viewer does not have an input
-	 */
-	public void inputChanged(org.eclipse.jface.viewers.Viewer viewer, Object oldInput, Object newInput) {
-		//do nothing
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ExportEARAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ExportEARAction.java
deleted file mode 100644
index a7078ae..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ExportEARAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 27, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.ear.actions;
-
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.actions.BaseAction;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * @author jsholl
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ExportEARAction extends BaseAction {
-
-	public static String LABEL = J2EEUIPlugin.getDefault().getDescriptor().getResourceString("%ear.export.action.description_ui_");//$NON-NLS-1$
-	private static final String ICON = "export_ear_wiz"; //$NON-NLS-1$
-
-	public ExportEARAction() {
-		super();
-		setText(LABEL);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	public void primRun(Shell shell) {
-		EARComponentExportWizard wizard = new EARComponentExportWizard();
-		J2EEUIPlugin plugin = J2EEUIPlugin.getDefault();
-
-		wizard.init(plugin.getWorkbench(), selection);
-
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		dialog.create();
-		dialog.open();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ImportEARAction.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ImportEARAction.java
deleted file mode 100644
index 305c3ec..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ImportEARAction.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 27, 2003
- * 
- * To change this generated comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.ear.actions;
-
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.actions.BaseAction;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard;
-import org.eclipse.swt.widgets.Shell;
-
-
-/**
- * @author jsholl
- * 
- * To change this generated comment go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class ImportEARAction extends BaseAction {
-	public static String LABEL = ArchiveEARUIResourceHandler.getString("Import_EAR"); //$NON-NLS-1$
-	private static final String ICON = "import_ear_wiz"; //$NON-NLS-1$
-
-	public ImportEARAction() {
-		super();
-		setText(LABEL);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(ICON));
-	}
-
-	protected void primRun(Shell shell) {
-
-		EARComponentImportWizard wizard = new EARComponentImportWizard();
-
-		J2EEUIPlugin plugin = J2EEUIPlugin.getDefault();
-
-		wizard.init(plugin.getWorkbench(), StructuredSelection.EMPTY);
-
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		dialog.create();
-		dialog.open();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ModulesProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ModulesProvider.java
deleted file mode 100644
index 4914e7f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ear/actions/ModulesProvider.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ear.actions;
-
-
-import org.eclipse.jst.j2ee.application.internal.operations.ClassPathSelection;
-
-/**
- * Insert the type's description here. Creation date: (8/22/2001 2:27:24 PM)
- * 
- * @author: Administrator
- */
-public class ModulesProvider implements org.eclipse.jface.viewers.ILabelProvider, org.eclipse.jface.viewers.IStructuredContentProvider {
-	/**
-	 * ModulesProvider constructor comment.
-	 */
-	public ModulesProvider() {
-		super();
-	}
-
-	/**
-	 * Adds a listener to this label provider. Has no effect if an identical listener is already
-	 * registered.
-	 * <p>
-	 * Label provider listeners are informed about state changes that affect the rendering of the
-	 * viewer that uses this label provider.
-	 * </p>
-	 * 
-	 * @param listener
-	 *            a label provider listener
-	 */
-	public void addListener(org.eclipse.jface.viewers.ILabelProviderListener listener) {
-		//do nothing
-	}
-
-	/**
-	 * Disposes of this content provider. This is called by the viewer when it is disposed.
-	 */
-	public void dispose() {
-		//dispose
-	}
-
-	/**
-	 * Returns the elements to display in the viewer when its input is set to the given element.
-	 * These elements can be presented as rows in a table, items in a list, etc. The result is not
-	 * modified by the viewer.
-	 * 
-	 * @param inputElement
-	 *            the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public java.lang.Object[] getElements(java.lang.Object inputElement) {
-		return ((java.util.List) inputElement).toArray();
-	}
-
-	/**
-	 * Returns the image for the label of the given element. The image is owned by the label
-	 * provider and must not be disposed directly. Instead, dispose the label provider when no
-	 * longer needed.
-	 * 
-	 * @param element
-	 *            the element for which to provide the label image
-	 * @return the image used to label the element, or <code>null</code> if these is no image for
-	 *         the given object
-	 */
-	public org.eclipse.swt.graphics.Image getImage(Object element) {
-		return null;
-	}
-
-	/**
-	 * Returns the text for the label of the given element.
-	 * 
-	 * @param element
-	 *            the element for which to provide the label text
-	 * @return the text string used to label the element, or <code>null</code> if these is no text
-	 *         label for the given object
-	 */
-	public String getText(Object element) {
-		return ((ClassPathSelection) element).getText();
-	}
-
-	/**
-	 * Notifies this content provider that the given viewer's input has been switched to a different
-	 * element.
-	 * <p>
-	 * A typical use for this method is registering the content provider as a listener to changes on
-	 * the new input (using model-specific means), and deregistering the viewer from the old input.
-	 * In response to these change notifications, the content provider propagates the changes to the
-	 * viewer.
-	 * </p>
-	 * 
-	 * @param viewer
-	 *            the viewer
-	 * @param oldInput
-	 *            the old input element, or <code>null</code> if the viewer did not previously
-	 *            have an input
-	 * @param newInput
-	 *            the new input element, or <code>null</code> if the viewer does not have an input
-	 */
-	public void inputChanged(org.eclipse.jface.viewers.Viewer viewer, Object oldInput, Object newInput) {
-		//do nothing
-	}
-
-	/**
-	 * Returns whether the label would be affected by a change to the given property of the given
-	 * element. This can be used to optimize a non-structural viewer update. If the property
-	 * mentioned in the update does not affect the label, then the viewer need not update the label.
-	 * 
-	 * @param element
-	 *            the element
-	 * @param property
-	 *            the property
-	 * @return <code>true</code> if the label would be affected, and <code>false</code> if it
-	 *         would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * Removes a listener to this label provider. Has no affect if an identical listener is not
-	 * registered.
-	 * 
-	 * @param listener
-	 *            a label provider listener
-	 */
-	public void removeListener(org.eclipse.jface.viewers.ILabelProviderListener listener) {
-		//do nothing
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/AbstractMethodsContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/AbstractMethodsContentProvider.java
deleted file mode 100644
index 1eccf45..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/AbstractMethodsContentProvider.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.EjbMethodElementComparator;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.MethodElement;
-import org.eclipse.jst.j2ee.ejb.internal.impl.EjbFactoryImpl;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.wst.common.frameworks.internal.ui.DisplayUtility;
-
-
-public abstract class AbstractMethodsContentProvider extends AdapterFactoryContentProvider {
-	protected static EStructuralFeature ME_EJB_SF = EjbFactoryImpl.getPackage().getMethodElement_EnterpriseBean();
-	protected static EStructuralFeature JAR_ASSEMBLY_SF = EjbFactoryImpl.getPackage().getEJBJar_AssemblyDescriptor();
-	private static final EStructuralFeature ECORE_BEAN_NAME = EcorePackage.eINSTANCE.getENamedElement_Name(); //ENAMED_ELEMENT__NAME
-	protected Comparator meComparator;
-	protected boolean isRoot = true;
-
-	public class EJBMethodItem {
-		public EObject refObject;
-		public EnterpriseBean ejb;
-
-		public EJBMethodItem(EObject aRefObject, EnterpriseBean anEJB) {
-			refObject = aRefObject;
-			ejb = anEJB;
-		}
-
-	}
-
-	/**
-	 * Constructor for AbstractMethodsContentProvider.
-	 * 
-	 * @param adapterFactory
-	 */
-	public AbstractMethodsContentProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	public AbstractMethodsContentProvider(AdapterFactory adapterFactory, boolean root) {
-		super(adapterFactory);
-		isRoot = root;
-	}
-
-	protected Comparator getEnterpriseBeanComparator() {
-		return EJBNameComparator.singleton();
-	}
-
-	protected Comparator getMethodElementComparator() {
-		if (meComparator == null)
-			meComparator = new EjbMethodElementComparator();
-		return meComparator;
-	}
-
-	/*
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof AbstractMethodsContentProvider.EJBMethodItem)
-			return getMethodElements((AbstractMethodsContentProvider.EJBMethodItem) parentElement);
-		return new Object[0];
-	}
-
-	protected Object[] getMethodElements(AbstractMethodsContentProvider.EJBMethodItem ejbItem) {
-		EObject refObject = ejbItem.refObject;
-		if (refObject == null)
-			return new Object[0];
-		List elements = getMethodElements(refObject, ejbItem.ejb);
-		Object[] result = elements.toArray();
-		if (result.length == 1)
-			return result;
-		Arrays.sort(result, getMethodElementComparator());
-		return result;
-	}
-
-	protected abstract List getMethodElements(EObject aRefObject, EnterpriseBean anEJB);
-
-	protected Object[] getEnterpriseBeans(EObject parentElement, List someMethodElements) {
-		if (someMethodElements.isEmpty())
-			return new Object[0];
-		Set ejbs = new HashSet();
-		EnterpriseBean ejb = null;
-		MethodElement me = null;
-		for (int i = 0; i < someMethodElements.size(); i++) {
-			me = (MethodElement) someMethodElements.get(i);
-			ejb = me.getEnterpriseBean();
-			if (ejb != null)
-				ejbs.add(ejb);
-		}
-		Object[] result = ejbs.toArray();
-		if (result.length != 1)
-			Arrays.sort(result, getEnterpriseBeanComparator());
-		ejb = null;
-		for (int i = 0; i < result.length; i++) {
-			ejb = (EnterpriseBean) result[i];
-			result[i] = new EJBMethodItem(parentElement, ejb);
-		}
-		return result;
-	}
-
-	protected AssemblyDescriptor getAssemblyDescriptor(EnterpriseBean ejb) {
-		if (ejb == null)
-			return null;
-		return ejb.getEjbJar().getAssemblyDescriptor();
-	}
-
-	/*
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof AbstractMethodsContentProvider.EJBMethodItem)
-			return true;
-		return false;
-	}
-
-	protected TreeViewer getTreeViewer() {
-		return (TreeViewer) viewer;
-	}
-
-	protected void refreshTreeViewer(Object obj) {
-		if (viewer != null)
-			DisplayUtility.asyncExec(createRefreshTreeRunnable(obj));
-	}
-
-	protected void refreshTreeViewer() {
-		if (viewer != null)
-			DisplayUtility.asyncExec(createRefreshTreeRunnable(null));
-	}
-
-	protected void refreshTreeViewer(MethodElement me) {
-		refreshTreeViewer(me.eContainer());
-	}
-
-	protected void refreshTreeViewer(List aList) {
-		if (aList.isEmpty())
-			return;
-		refreshTreeViewer((MethodElement) aList.get(0));
-	}
-
-	protected void addToTreeViewer(final MethodElement me) {
-		if (viewer == null)
-			return;
-		DisplayUtility.asyncExec(new Runnable() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-				// findMethodItem() should be run in a Display thread
-				EJBMethodItem item = findMethodItem(me);
-				if (item != null)
-					DisplayUtility.asyncExec(createAddItemTreeRunnable(item, me));
-				else
-					refreshTreeViewer(me.eContainer());
-
-			}
-		});
-	}
-
-	protected void removeFromTreeViewer(final EObject parent, final MethodElement me) {
-		if (viewer == null)
-			return;
-		DisplayUtility.asyncExec(new Runnable() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-				EnterpriseBean ejb = me.getEnterpriseBean();
-				EJBMethodItem item = findMethodItem(ejb, parent);
-				if (item != null)
-					refreshTreeViewer(item);
-				else
-					refreshTreeViewer((Object) null);
-			}
-		});
-	}
-
-	protected EJBMethodItem findMethodItem(MethodElement me) {
-		return findMethodItem(me.getEnterpriseBean(), me.eContainer());
-	}
-
-	protected EJBMethodItem findMethodItem(EnterpriseBean ejb, EObject parentMethod) {
-		TreeItem[] items = getTreeViewer().getTree().getItems();
-		return findMethodItem(ejb, parentMethod, items);
-	}
-
-	protected EJBMethodItem findMethodItem(EnterpriseBean ejb, EObject parentMethod, TreeItem[] items) {
-		TreeItem item = null;
-		Object data = null;
-		EJBMethodItem methodItem = null, found = null;
-		for (int i = 0; i < items.length; i++) {
-			item = items[i];
-			data = item.getData();
-			if (data instanceof EJBMethodItem) {
-				methodItem = (EJBMethodItem) data;
-				if (methodItem.ejb == ejb && methodItem.refObject == parentMethod)
-					return methodItem;
-			}
-			found = findMethodItem(ejb, parentMethod, item.getItems());
-			if (found != null)
-				return found;
-		}
-		return null;
-	}
-
-	/*
-	 * @see INotifyChangedListener#notifyChanged(new ENotificationImpl((InternalEObject)Object,
-	 *      int,(EStructuralFeature) Object, Object, Object, int))
-	 */
-	public void notifyChanged(Notification notifier) {
-		if (notifier.getEventType() == Notification.RESOLVE)
-			return;
-		else if (notifier.getOldValue() instanceof CMPAttribute && notifier.getNewValue() == null)
-			return;
-		else if (notifier.getFeature() == ME_EJB_SF) {
-			refreshTreeViewer((MethodElement) notifier.getNotifier());
-			return;
-		} else if (notifier.getFeature() == ECORE_BEAN_NAME) {
-			refreshTreeViewer();
-			return;
-		} else if (getMethodElementsReference() == notifier.getFeature()) {
-			if (notifier.getEventType() == Notification.ADD)
-				addToTreeViewer((MethodElement) notifier.getNewValue());
-			else if (notifier.getEventType() == Notification.REMOVE)
-				removeFromTreeViewer((EObject) notifier.getNotifier(), (MethodElement) notifier.getOldValue());
-			return;
-		} else if (notifier.getFeature() == JAR_ASSEMBLY_SF && isRoot) {
-			updateTreeInput(notifier.getNewValue());
-		} else if (notifier.getFeature() == getMethodElementsContainerReference())
-			super.notifyChanged(notifier);
-	}
-
-	/**
-	 * @param notifier
-	 */
-	protected void updateTreeInput(final Object target) {
-		DisplayUtility.asyncExec(new Runnable() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-
-				getTreeViewer().setInput(target); //reset the input
-				getTreeViewer().refresh(target);
-
-			}
-		});
-	}
-
-	private Runnable createAddItemTreeRunnable(final Object parent, final MethodElement me) {
-		return new Runnable() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-				getTreeViewer().add(parent, me);
-			}
-		};
-	}
-
-	private Runnable createRefreshTreeRunnable(final Object target) {
-		return new Runnable() {
-
-			/*
-			 * (non-Javadoc)
-			 * 
-			 * @see java.lang.Runnable#run()
-			 */
-			public void run() {
-				if (target != null)
-					getTreeViewer().refresh(target);
-				else
-					getTreeViewer().refresh();
-			}
-		};
-	}
-
-	protected abstract EStructuralFeature getMethodElementsReference();
-
-	protected abstract EStructuralFeature getMethodElementsContainerReference();
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/BeanClassProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/BeanClassProviderHelper.java
deleted file mode 100644
index 38a42eb..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/BeanClassProviderHelper.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * Insert the type's description here. Creation date: (6/21/2001 12:29:49 AM)
- * 
- * @author: Administrator
- */
-public class BeanClassProviderHelper extends J2EEJavaClassProviderHelper {
-	private static Image image;
-
-	/**
-	 * BeanClassProviderHelper constructor comment.
-	 */
-	public BeanClassProviderHelper(EnterpriseBean anEJB) {
-		super(anEJB);
-	}
-
-	public Image getImage() {
-		if (image == null)
-			image = createImage();
-		return image;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (7/11/2001 1:53:09 PM)
-	 * 
-	 * @return org.eclipse.jem.internal.java.JavaClass
-	 */
-	public JavaClass getJavaClass() {
-		return getEjb().getEjbClass();
-	}
-
-	protected String getOverlayKey() {
-		return "ejb_module_ovr";//$NON-NLS-1$
-	}
-
-	public String getTypeString(String className) {
-		return J2EEUIMessages.getResourceString("EJB_Class_UI_", new Object[]{className}); //$NON-NLS-1$ = "EJB Class"
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/EJBUIMessages.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/EJBUIMessages.java
deleted file mode 100644
index d03ed28..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/EJBUIMessages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import org.eclipse.osgi.util.NLS;
-
-
-public class EJBUIMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "j2ee_ejb_ui";//$NON-NLS-1$
-
-	private EJBUIMessages() {
-		// Do not instantiate
-	}
-
-	public static String GroupedEJBJarItemProvider_UI_0;
-	public static String GroupedEJBJarItemProvider_UI_1;
-	public static String GroupedEJBJarItemProvider_UI_2;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, EJBUIMessages.class);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ExcludeListContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ExcludeListContentProvider.java
deleted file mode 100644
index 12c91ca..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ExcludeListContentProvider.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.ExcludeList;
-import org.eclipse.jst.j2ee.ejb.internal.impl.EjbFactoryImpl;
-
-
-public class ExcludeListContentProvider extends AbstractMethodsContentProvider {
-	private static final EStructuralFeature EXCLUDE_ME_SF = EjbFactoryImpl.getPackage().getExcludeList_MethodElements();
-	private static final EStructuralFeature AD_EL_SF = EjbFactoryImpl.getPackage().getAssemblyDescriptor_ExcludeList();
-	protected static final EStructuralFeature ECORE_BEAN_NAME = EcorePackage.eINSTANCE.getENamedElement_Name(); //ENAMED_ELEMENT__NAME
-
-	/**
-	 * Constructor for ExcludeListContentProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param root
-	 * @param viewer
-	 */
-	public ExcludeListContentProvider(AdapterFactory adapterFactory, boolean root) {
-		super(adapterFactory, root);
-	}
-
-	/**
-	 * Constructor for ExcludesListContentProvider.
-	 * 
-	 * @param adapterFactory
-	 */
-	public ExcludeListContentProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	protected Object[] getEnterpriseBeans(ExcludeList list) {
-		List mes = list.getMethodElements();
-		return getEnterpriseBeans(list, mes);
-	}
-
-	/*
-	 * @see AbstractMethodsContentProvider#getMethodElements(EObject, EnterpriseBean)
-	 */
-	protected List getMethodElements(EObject aRefObject, EnterpriseBean anEJB) {
-		if (!(aRefObject instanceof ExcludeList))
-			return Collections.EMPTY_LIST;
-		ExcludeList parentList = (ExcludeList) aRefObject;
-		if (parentList == null)
-			return Collections.EMPTY_LIST;
-		return parentList.getMethodElements(anEJB);
-	}
-
-	/*
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		super.getElements(inputElement);
-		ExcludeList list = null;
-		if (inputElement instanceof EJBJar) {
-			EJBJar jar = (EJBJar) inputElement;
-			if (jar.getAssemblyDescriptor() != null)
-				list = jar.getAssemblyDescriptor().getExcludeList();
-			if (list != null)
-				return getEnterpriseBeans(list);
-		}
-		if (inputElement instanceof AssemblyDescriptor) {
-			list = ((AssemblyDescriptor) inputElement).getExcludeList();
-			if (list != null)
-				return getEnterpriseBeans(list);
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * @see org.eclipse.jst.j2ee.internal.internal.ejb.ui.providers.AbstractMethodsContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof ExcludeList)
-			return getEnterpriseBeans((ExcludeList) parentElement);
-		return super.getChildren(parentElement);
-	}
-
-	/**
-	 * @see org.eclipse.jst.j2ee.internal.internal.ejb.ui.providers.AbstractMethodsContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof ExcludeList)
-			return !((ExcludeList) element).getMethodElements().isEmpty();
-		return super.hasChildren(element);
-	}
-
-	public void notifyChanged(Notification notifier) {
-		if ((notifier.getFeature() == EXCLUDE_ME_SF && notifier.getNotifier() instanceof ExcludeList) || notifier.getFeature() == ECORE_BEAN_NAME) {
-			if (notifier.getEventType() == Notification.RESOLVE)
-				return;
-			if (isRoot)
-				refreshTreeViewer();
-			else
-				refreshTreeViewer(notifier.getNotifier());
-		}
-		if (notifier.getOldValue() instanceof CMPAttribute && notifier.getNewValue() == null)
-			return;
-		if (notifier.getFeature() == getMethodElementsReference() || notifier.getFeature() == getMethodElementsContainerReference())
-			super.notifyChanged(notifier);
-	}
-
-	/*
-	 * @see AbstractMethodsContentProvider#getMethodElementsReference()
-	 */
-	protected EStructuralFeature getMethodElementsReference() {
-		return EXCLUDE_ME_SF;
-	}
-
-	/**
-	 * @see org.eclipse.jst.j2ee.internal.internal.ejb.ui.providers.AbstractMethodsContentProvider#getMethodElementsContainerReference()
-	 */
-	protected EStructuralFeature getMethodElementsContainerReference() {
-		return AD_EL_SF;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBItemProvider.java
deleted file mode 100644
index 6645c6f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBItemProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider;
-
-
-
-/**
- * This class is the item provider for EJB groups
- */
-public abstract class GroupedEJBItemProvider extends J2EEItemProvider {
-
-	public GroupedEJBItemProvider(AdapterFactory adapterFactory, String text, Object image, Object parent, Collection children) {
-		super(adapterFactory, text, image, parent, children);
-	}
-	
-	public IFile getAssociatedFile() {
-
-		try {
-			EJBJar ejbJar = (EJBJar) getParent();
-			if(ejbJar != null && ejbJar.eResource() != null) {
-				return WorkbenchResourceHelperBase.getIFile(ejbJar.eResource().getURI());
-			}
-		} catch (Throwable t) {
-			
-		}
-		return null;		
-	}
-
-	public abstract String getText(Object object);
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBJarItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBJarItemProvider.java
deleted file mode 100644
index 5efe5cb..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEJBJarItemProvider.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationWrapper;
-import org.eclipse.emf.common.notify.impl.NotificationImpl;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EjbPackage;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.ejb.MessageDriven;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider;
-
-
-/**
- * @author Sachin P Patel
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class GroupedEJBJarItemProvider extends EJBJarItemProvider {
-
-	private GroupedSessionItemProvider sessionProvider = null;
-	private GroupedEntityItemProvider entityProvider = null;
-	private GroupedMessageItemProvider messageProvider = null;
-
-	private static Hashtable sessionTable = new Hashtable();
-	private static Hashtable entityTable = new Hashtable();
-	private static Hashtable messageTable = new Hashtable();
-
-	private static final String SESSION = EJBUIMessages.GroupedEJBJarItemProvider_UI_0;
-	private static final String ENTITY = EJBUIMessages.GroupedEJBJarItemProvider_UI_1;
-	private static final String MESSAGE = EJBUIMessages.GroupedEJBJarItemProvider_UI_2;
-
-	//	Normally there is one instance of an item provider for all instances of the objecct
-	//	in the tree. The item provider would be stateless. However, because we are doing tricks
-	//	here, we are keeping track of all items this provider manages. The key in the map is the
-	//	object (EJBJar), and the value is the children nodes that we inserted
-
-	protected Map children = new HashMap();
-	private boolean showAssemblyDescriptor;
-	private boolean isDisposing;
-
-	public GroupedEJBJarItemProvider(AdapterFactory adapterFactory, boolean showAssemblyDescriptor) {
-		super(adapterFactory);
-		this.showAssemblyDescriptor = showAssemblyDescriptor;
-	}
-
-	public Collection getChildren(Object object) {
-		List result = initChildren(object);
-		if (showAssemblyDescriptor) {
-			if (((EJBJar) object).getAssemblyDescriptor() != null)
-				result.add(((EJBJar) object).getAssemblyDescriptor());
-		}
-		return result;
-	}
-
-	protected List initChildren(Object object) {
-		EJBJar ejbJar = (EJBJar) object;
-		List allRootBeans = getAllRootBeans(ejbJar);
-
-		boolean is20Jar = is20Jar(ejbJar);
-
-		List localChildren = new ArrayList(5);
-
-		List entityBeans = new ArrayList();
-		List sessionBeans = new ArrayList();
-		List messageBeans = new ArrayList();
-
-		catagorizeBeans(allRootBeans, entityBeans, sessionBeans, messageBeans);
-		orderBeans(entityBeans);
-		orderBeans(sessionBeans);
-		orderBeans(messageBeans);
-		
-		//ENABLE FOR: NOT TO SHOW EMPTY GROUPS
-		//if (sessionBeans.size() > 0) {
-		if (sessionTable.get(ejbJar) == null) {
-			//create new item provider instance
-			sessionProvider = new GroupedSessionItemProvider(adapterFactory, null, getImage(SESSION), object, sessionBeans);
-			sessionTable.put(ejbJar, sessionProvider);
-			localChildren.add(sessionProvider);
-		} else {
-			//use existing instance from table
-			localChildren.add(sessionTable.get(ejbJar));
-		}
-		//}
-
-		//ENABLE FOR: NOT TO SHOW EMPTY GROUPS
-		//if (entityBeans.size() > 0) {
-		if (entityTable.get(ejbJar) == null) {
-			//create new item provider instance
-			entityProvider = new GroupedEntityItemProvider(adapterFactory, null, getImage(ENTITY), object, entityBeans);
-			entityTable.put(ejbJar, entityProvider);
-			localChildren.add(entityProvider);
-		} else {
-			//use existing instance from table
-			localChildren.add(entityTable.get(ejbJar));
-		}
-		//}
-
-		//ENABLE FOR: NOT TO SHOW EMPTY GROUPS
-		//if (is20Jar && messageBeans.size() > 0) {
-		if (is20Jar) {
-			if (messageTable.get(ejbJar) == null) {
-				//create new item provider instance
-				messageProvider = new GroupedMessageItemProvider(adapterFactory, null, getImage(MESSAGE), object, messageBeans);
-				messageTable.put(ejbJar, messageProvider);
-				localChildren.add(messageProvider);
-			} else {
-				//use existing instance from table
-				localChildren.add(messageTable.get(ejbJar));
-			}
-		}
-		//}
-
-		children.put(object, localChildren);
-
-		return localChildren;
-	}
-
-	protected void orderBeans(List beans) {
-		Object[] beansArray = beans.toArray();
-		Arrays.sort(beansArray, EJBNameComparator.singleton());
-		beans.clear();
-		beans.addAll(Arrays.asList(beansArray));
-	}
-	
-	protected static List getAllRootBeans(EJBJar ejbJar) {
-		return ejbJar.getEnterpriseBeans();
-	}
-
-	protected void catagorizeBeans(List allRootBeans, List entityBeans, List sessionBeans, List messageBeans) {
-		for (int i = 0; i < allRootBeans.size(); i++) {
-			if (((EnterpriseBean) allRootBeans.get(i)).isSession()) {
-				sessionBeans.add(allRootBeans.get(i));
-			} else if (((EnterpriseBean) allRootBeans.get(i)).isEntity()) {
-				entityBeans.add(allRootBeans.get(i));
-			} else if (((EnterpriseBean) allRootBeans.get(i)).isMessageDriven()) {
-				messageBeans.add(allRootBeans.get(i));
-			}
-		}
-	}
-
-	static protected GroupedSessionItemProvider getSessionNode(Object object) {
-		return (GroupedSessionItemProvider) sessionTable.get(object);
-	}
-
-	static protected GroupedEntityItemProvider getEntityNode(Object object) {
-		return (GroupedEntityItemProvider) entityTable.get(object);
-	}
-
-	static protected GroupedMessageItemProvider getMessageNode(Object object) {
-		return (GroupedMessageItemProvider) messageTable.get(object);
-	}
-
-	public Object getImage(String type) {
-		if (type.equals(SESSION))
-			return J2EEPlugin.getPlugin().getImage("sessionBean_obj"); //$NON-NLS-1$
-		else if (type.equals(MESSAGE))
-			return J2EEPlugin.getPlugin().getImage("message_bean_obj"); //$NON-NLS-1$
-		else if (type.equals(ENTITY))
-			return J2EEPlugin.getPlugin().getImage("entitybean_obj"); //$NON-NLS-1$
-		else
-			return null;
-	}
-
-	private boolean is20Jar(EJBJar ejbJar) {
-		switch (ejbJar.getVersionID()) {
-			case J2EEVersionConstants.EJB_1_0_ID :
-			case J2EEVersionConstants.EJB_1_1_ID :
-				return false;
-			case J2EEVersionConstants.EJB_2_0_ID :
-			case J2EEVersionConstants.EJB_2_1_ID :
-			default :
-				return true;
-		}
-	}
-
-	public void notifyChanged(Notification notification) {
-		if (notification.getEventType() == Notification.REMOVING_ADAPTER && notification.getOldValue() == this && !isDisposing) {
-			removeTarget(notification);
-			return;
-		}
-		if (notification.getFeature() == EjbPackage.eINSTANCE.getEJBJar_EnterpriseBeans()) {
-			J2EEItemProvider provider = beansChanged((EJBJar) notification.getNotifier(), notification.getEventType(), notification.getOldValue(), notification.getNewValue(), notification.getPosition());
-
-			//EJB's group has not been added yet, need to add group to tree before EJB can be added
-			if (provider == null) {
-				Notification msg = new NotificationImpl(Notification.ADD, null, getEJBItemProvider((EnterpriseBean) notification.getNewValue()), 1);
-				NotificationWrapper notificationWrapper = new NotificationWrapper(notification.getNotifier(), msg);
-				fireNotifyChanged(notificationWrapper);
-				provider = beansChanged((EJBJar) notification.getNotifier(), notification.getEventType(), notification.getOldValue(), notification.getNewValue(), notification.getPosition());
-			}
-
-			//Fire notification for EJB add or remove
-			NotificationWrapper notificationWrapper = new NotificationWrapper(provider, notification);
-			fireNotifyChanged(notificationWrapper);
-
-			//ENABLE FOR: NOT TO SHOW EMPTY GROUPS
-			//If Group is empty remove the group
-			/*
-			 * if (provider != null && provider.getChildren().size() == 0) { Notification msg = new
-			 * NotificationImpl(Notification.REMOVE, provider, null, 1); notificationWrapper = new
-			 * NotificationWrapper(notification.getNotifier(), msg);
-			 * fireNotifyChanged(notificationWrapper);
-			 * 
-			 * //Group is removed so flush out table entry if (provider instanceof
-			 * GroupedSessionItemProvider) { sessionTable.remove(notification.getNotifier());
-			 * provider = null; } else if (provider instanceof GroupedEntityItemProvider) {
-			 * entityTable.remove(notification.getNotifier()); provider = null; } else if (provider
-			 * instanceof GroupedMessageItemProvider) {
-			 * messageTable.remove(notification.getNotifier()); provider = null; }
-			 * 
-			 * //If all groups are removed remove the extended children List allChildren = new
-			 * ArrayList(this.getChildren((EJBJar) notification.getNotifier()));
-			 * if(sessionTable.get(notification.getNotifier()) == null &&
-			 * entityTable.get(notification.getNotifier()) == null &&
-			 * messageTable.get(notification.getNotifier()) == null) { for(int i = 0; i <
-			 * allChildren.size(); i++) { Notification message = new
-			 * NotificationImpl(Notification.REMOVE, allChildren.get(i), null, 1);
-			 * notificationWrapper = new NotificationWrapper(notification.getNotifier(), message);
-			 * fireNotifyChanged(notificationWrapper); } this.getChildren((EJBJar)
-			 * notification.getNotifier()).clear(); } }
-			 */
-		} else {
-			super.notifyChanged(notification);
-		}
-	}
-
-	protected J2EEItemProvider beansChanged(EJBJar ejbJar, int eventType, Object oldValue, Object newValue, int pos) {
-		J2EEItemProvider provider = getItemProvider(ejbJar, oldValue, newValue);
-
-		if (provider != null) {
-			Collection grandChildren = provider.getChildren();
-
-			switch (eventType) {
-				case Notification.ADD : {
-					if (!grandChildren.contains(newValue))
-						grandChildren.add(newValue);
-
-					break;
-				}
-				case Notification.ADD_MANY : {
-					grandChildren.addAll((Collection) newValue);
-					break;
-				}
-				case Notification.REMOVE : {
-					grandChildren.remove(oldValue);
-					break;
-				}
-				case Notification.REMOVE_MANY : {
-					grandChildren.removeAll((Collection) oldValue);
-					break;
-				}
-			}
-		} else {
-			//GroupedProvider for new bean does not exist, create one.
-			List allRootBeans = getAllRootBeans(ejbJar);
-
-			List entityBeans = new ArrayList();
-			List sessionBeans = new ArrayList();
-			List messageBeans = new ArrayList();
-
-			catagorizeBeans(allRootBeans, entityBeans, sessionBeans, messageBeans);
-
-			if (newValue instanceof Session) {
-				sessionProvider = new GroupedSessionItemProvider(adapterFactory, null, getImage(SESSION), ejbJar, sessionBeans);
-				sessionTable.put(ejbJar, sessionProvider);
-			} else if (newValue instanceof Entity) {
-				entityProvider = new GroupedEntityItemProvider(adapterFactory, null, getImage(ENTITY), ejbJar, entityBeans);
-				entityTable.put(ejbJar, entityProvider);
-			} else if (newValue instanceof MessageDriven) {
-				messageProvider = new GroupedMessageItemProvider(adapterFactory, null, getImage(MESSAGE), ejbJar, messageBeans);
-				messageTable.put(ejbJar, messageProvider);
-			}
-		}
-		return provider;
-	}
-
-	static public J2EEItemProvider getEJBJarItemProvider(EJBJar ejbJar, Object bean) {
-		J2EEItemProvider provider = null;
-		if (ejbJar != null && bean != null) {
-			if (bean instanceof Session) {
-				provider = getSessionNode(ejbJar);
-			} else if (bean instanceof Entity) {
-				provider = getEntityNode(ejbJar);
-			} else if (bean instanceof MessageDriven) {
-				provider = getMessageNode(ejbJar);
-			}
-		}
-		return provider;
-	}
-
-	static public J2EEItemProvider getEJBItemProvider(EnterpriseBean bean) {
-		if (bean != null) {
-			EJBJar ejbJar = bean.getEjbJar();
-			return getEJBJarItemProvider(ejbJar, bean);
-		}
-		return null;
-	}
-
-	protected J2EEItemProvider getItemProvider(EJBJar ejbJar, Object oldValue, Object newValue) {
-		if (newValue != null)
-			return getEJBJarItemProvider(ejbJar, newValue);
-		else if (oldValue != null)
-			return getEJBJarItemProvider(ejbJar, oldValue);
-		else
-			return null;
-	}
-
-	public static boolean isRootBean(EnterpriseBean bean) {
-		List allRootBeans = getAllRootBeans(bean.getEjbJar());
-		if (allRootBeans != null && allRootBeans.contains(bean)) {
-			return true;
-		}
-		return false;
-	}
-
-	//	Utility method for garbage collection - if EJBJar removed, remove
-	//	all entires in table for EJBJar
-	static public void flushOutTableEntriesForEJBJar(EJBJar ejbJar) {
-		sessionTable.remove(ejbJar);
-		entityTable.remove(ejbJar);
-		messageTable.remove(ejbJar);
-	}
-
-	public boolean hasChildren(Object parent) {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.ejb.provider.EJBJarItemProvider#removeTarget(org.eclipse.emf.common.notify.Notification)
-	 */
-	protected void removeTarget(Notification not) {
-		if (not.getNotifier() instanceof EJBJar)
-			flushOutTableEntriesForEJBJar((EJBJar) not.getNotifier());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#dispose()
-	 */
-	public void dispose() {
-		try {
-			isDisposing = true;
-			super.dispose();
-		} finally {
-			isDisposing = false;
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEntityItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEntityItemProvider.java
deleted file mode 100644
index 0dbb40b..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedEntityItemProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-
-/**
- * @author Sachin Patel
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class GroupedEntityItemProvider extends GroupedEJBItemProvider {
-
-	public static final String ENTITY = J2EEUIMessages.getResourceString("Entity_UI_"); //$NON-NLS-1$
-
-	public GroupedEntityItemProvider(AdapterFactory adapterFactory, String text, Object image, Object parent, Collection children) {
-		super(adapterFactory, text, image, parent, children);
-	}
-
-	public String getText(Object object) {
-		return ENTITY;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedMessageItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedMessageItemProvider.java
deleted file mode 100644
index 6c977b2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedMessageItemProvider.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-
-
-/**
- * @author Sachin Patel
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class GroupedMessageItemProvider extends GroupedEJBItemProvider {
-
-	public static final String MESSAGE_BEANS = J2EEUIMessages.getResourceString("Message_Driven_Beans_UI_"); //$NON-NLS-1$
-
-	public GroupedMessageItemProvider(AdapterFactory adapterFactory, String text, Object image, Object parent, Collection children) {
-		super(adapterFactory, text, image, parent, children);
-	}
-
-	public String getText(Object object) {
-		return MESSAGE_BEANS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedSessionItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedSessionItemProvider.java
deleted file mode 100644
index 15c2817..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/GroupedSessionItemProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-
-/**
- * @author Sachin Patel
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class GroupedSessionItemProvider extends GroupedEJBItemProvider {
-
-	public static final String SESSION_BEANS = J2EEUIMessages.getResourceString("Session_Beans_UI_"); //$NON-NLS-1$
-
-	public GroupedSessionItemProvider(AdapterFactory adapterFactory, String text, Object image, Object parent, Collection children) {
-		super(adapterFactory, text, image, parent, children);
-	}
-
-	public String getText(Object object) {
-		return SESSION_BEANS;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/HomeInterfaceProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/HomeInterfaceProviderHelper.java
deleted file mode 100644
index 6c37abe..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/HomeInterfaceProviderHelper.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * Insert the type's description here. Creation date: (6/20/2001 11:23:30 PM)
- * 
- * @author: Administrator
- */
-public class HomeInterfaceProviderHelper extends J2EEJavaClassProviderHelper {
-	private static Image image;
-
-	/**
-	 * HomeInterfaceProviderHelper constructor comment.
-	 * 
-	 * @param cls
-	 *            org.eclipse.jem.internal.java.JavaClass
-	 */
-	public HomeInterfaceProviderHelper(EnterpriseBean anEJB) {
-		super(anEJB);
-	}
-
-	public Image getImage() {
-		if (image == null)
-			image = createImage();
-		return image;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (7/11/2001 1:53:49 PM)
-	 * 
-	 * @return org.eclipse.jem.internal.java.JavaClass
-	 */
-	public JavaClass getJavaClass() {
-		return getEjb().getHomeInterface();
-	}
-
-	protected String getOverlayKey() {
-		return "home_interface_overlay_obj";//$NON-NLS-1$
-	}
-
-	public String getTypeString(String className) {
-		return J2EEUIMessages.getResourceString("Home_Interface_UI_", new Object[]{className}); //$NON-NLS-1$ = "Home Interface"
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEContainerManagedEntityItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEContainerManagedEntityItemProvider.java
deleted file mode 100644
index ec5f13c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEContainerManagedEntityItemProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * Insert the type's description here. Creation date: (6/20/2001 6:58:51 PM)
- * 
- * @author: Administrator
- */
-public class J2EEContainerManagedEntityItemProvider extends ContainerManagedEntityItemProvider {
-	/**
-	 * J2EEContainerManagedEntityItemProvider constructor comment.
-	 * 
-	 * @param adapterFactory
-	 *            org.eclipse.emf.common.notify.AdapterFactory
-	 */
-	public J2EEContainerManagedEntityItemProvider(EjbItemProviderAdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		result.addAll(super.getChildren(object));
-		J2EEJavaClassProviderHelper.addChildren((ContainerManagedEntity) object, result);
-		result.addAll(((ContainerManagedEntity) object).getEnvironmentProperties());
-		result.addAll(J2EEReferenceProviderHelper.getReferences((EnterpriseBean) object));
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEjbItemProviderAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEjbItemProviderAdapterFactory.java
deleted file mode 100644
index f888d86..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEjbItemProviderAdapterFactory.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import org.eclipse.emf.common.notify.Adapter;
-
-
-/**
- * Insert the type's description here. Creation date: (6/20/2001 7:20:07 PM)
- * 
- * @author: Administrator
- */
-public class J2EEEjbItemProviderAdapterFactory extends org.eclipse.jst.j2ee.internal.ejb.provider.EjbItemProviderAdapterFactory {
-	/**
-	 * J2EEEjbItemProviderAdapterFactory constructor comment.
-	 */
-	public J2EEEjbItemProviderAdapterFactory() {
-		super();
-	}
-
-	/**
-	 * This creates an adapter for a
-	 * {@link org.eclipse.jst.j2ee.internal.internal.ejb.ContainerManagedEntity}.
-	 */
-	public Adapter createContainerManagedEntityAdapter() {
-		if (containerManagedEntityItemProvider == null) {
-			containerManagedEntityItemProvider = new J2EEContainerManagedEntityItemProvider(this);
-		}
-
-		return containerManagedEntityItemProvider;
-	}
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.jst.j2ee.internal.internal.ejb.EJBJar}.
-	 */
-	public Adapter createEJBJarAdapter() {
-		if (eJBJarItemProvider == null) {
-			eJBJarItemProvider = new GroupedEJBJarItemProvider(this, true);
-		}
-
-		return eJBJarItemProvider;
-	}
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.jst.j2ee.internal.internal.ejb.Entity}.
-	 */
-	public Adapter createEntityAdapter() {
-		if (entityItemProvider == null) {
-			entityItemProvider = new J2EEEntityItemProvider(this);
-		}
-
-		return entityItemProvider;
-	}
-
-	/**
-	 * This creates an adapter for a {@link org.eclipse.jst.j2ee.internal.internal.ejb.Session}.
-	 */
-	public Adapter createSessionAdapter() {
-		if (sessionItemProvider == null) {
-			sessionItemProvider = new J2EESessionItemProvider(this);
-		}
-
-		return sessionItemProvider;
-	}
-
-	public Adapter createMessageDrivenAdapter() {
-		if (messageDrivenItemProvider == null) {
-			messageDrivenItemProvider = new J2EEMessageDrivenItemProvider(this);
-		}
-		return messageDrivenItemProvider;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEntityItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEntityItemProvider.java
deleted file mode 100644
index 037d4d6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEEntityItemProvider.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.ejb.Entity;
-
-
-/**
- * Insert the type's description here. Creation date: (6/20/2001 11:10:06 PM)
- * 
- * @author: Administrator
- */
-public class J2EEEntityItemProvider extends EntityItemProvider {
-	/**
-	 * J2EEEntityItemProvider constructor comment.
-	 * 
-	 * @param adapterFactory
-	 *            org.eclipse.emf.common.notify.AdapterFactory
-	 */
-	public J2EEEntityItemProvider(org.eclipse.emf.common.notify.AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		result.addAll(super.getChildrenSuper(object));
-		J2EEJavaClassProviderHelper.addChildren((Entity) object, result);
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEJavaClassProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEJavaClassProviderHelper.java
deleted file mode 100644
index 00fe427..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEJavaClassProviderHelper.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEEditorUtility;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.frameworks.internal.ui.OverlayIcon;
-
-public abstract class J2EEJavaClassProviderHelper implements IAdaptable {
-	private EnterpriseBean ejb;
-	public static final Class IRESOURCE_CLASS = IResource.class;
-	public static final Class IPROJECT_CLASS = IProject.class;
-
-	/**
-	 * J2EEJavaClassProviderHelper constructor comment.
-	 */
-	public J2EEJavaClassProviderHelper(EnterpriseBean anEJB) {
-		super();
-		setEjb(anEJB);
-	}
-
-	public static void addChildren(Entity ejb, Collection children) {
-		addChildren((EnterpriseBean) ejb, children);
-		if (ejb.getPrimaryKey() != null)
-			children.add(new PrimaryKeyClassProviderHelper(ejb));
-	}
-
-	public static void addChildren(EnterpriseBean ejb, Collection children) {
-
-		if (ejb.getHomeInterface() != null)
-			children.add(new HomeInterfaceProviderHelper(ejb));
-		if (ejb.getRemoteInterface() != null)
-			children.add(new RemoteInterfaceProviderHelper(ejb));
-		if (ejb.getLocalHomeInterface() != null)
-			children.add(new LocalHomeInterfaceProviderHelper(ejb));
-		if (ejb.getLocalInterface() != null)
-			children.add(new LocalInterfaceProviderHelper(ejb));
-		if (ejb.getEjbClass() != null)
-			children.add(new BeanClassProviderHelper(ejb));
-	}
-
-	protected Image createImage() {
-		ImageDescriptor base = J2EEUIPlugin.getDefault().getImageDescriptor("jcu_obj");//$NON-NLS-1$
-		if (base == null)
-			return null;
-		ImageDescriptor overlay = getOverlayDescriptor();
-		if (overlay == null)
-			return base.createImage();
-		return new OverlayIcon(base, new ImageDescriptor[][]{{overlay}}).createImage();
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (7/11/2001 1:47:24 PM)
-	 * 
-	 * @return org.eclipse.jst.j2ee.internal.internal.ejb.EnterpriseBean
-	 */
-	public org.eclipse.jst.j2ee.ejb.EnterpriseBean getEjb() {
-		return ejb;
-	}
-
-	public Image getImage() {
-		return null;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (6/20/2001 10:30:54 PM)
-	 * 
-	 * @return JavaClass
-	 */
-	public abstract JavaClass getJavaClass();
-
-	protected ImageDescriptor getOverlayDescriptor() {
-		return J2EEUIPlugin.getDefault().getImageDescriptor(getOverlayKey());
-	}
-
-	protected abstract String getOverlayKey();
-
-	protected IProject getProject() {
-		return ProjectUtilities.getProject(getJavaClass());
-	}
-
-	public String getStatusLineMessage() {
-		if (getJavaClass() != null)
-			return getTypeString(getJavaClass().getQualifiedName());
-		return ""; //$NON-NLS-1$
-	}
-
-	public String getText() {
-		if (getJavaClass() != null)
-			return getJavaClass().getName();
-		return ""; //$NON-NLS-1$
-	}
-
-	public abstract String getTypeString(String className);
-
-	public void openInEditor() {
-		IProject project = ProjectUtilities.getProject(getJavaClass());
-		try {
-			J2EEEditorUtility.openInEditor(getJavaClass(), project);
-		} catch (Exception cantOpen) {
-			//Ignore
-		}
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (7/11/2001 1:47:24 PM)
-	 * 
-	 * @param newEjb
-	 *            org.eclipse.jst.j2ee.internal.internal.ejb.EnterpriseBean
-	 */
-	public void setEjb(org.eclipse.jst.j2ee.ejb.EnterpriseBean newEjb) {
-		ejb = newEjb;
-	}
-
-	/**
-	 * @see IAdaptable#EcoreUtil.getAdapter(eAdapters(),Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IRESOURCE_CLASS)
-			return J2EEEditorUtility.getFile(getJavaClass());
-		if (adapter == IPROJECT_CLASS)
-			return getProject();
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEMessageDrivenItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEMessageDrivenItemProvider.java
deleted file mode 100644
index a015586..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEMessageDrivenItemProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.ejb.MessageDriven;
-
-
-/**
- * @author jsholl
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class J2EEMessageDrivenItemProvider extends MessageDrivenItemProvider {
-
-	public J2EEMessageDrivenItemProvider(org.eclipse.emf.common.notify.AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		result.addAll(super.getChildrenSuper(object));
-		J2EEJavaClassProviderHelper.addChildren((MessageDriven) object, result);
-		return result;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEReferenceProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEReferenceProviderHelper.java
deleted file mode 100644
index b8b8948..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EEReferenceProviderHelper.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 6, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-
-/**
- * @author jsholl
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class J2EEReferenceProviderHelper {
-
-	public static Collection getReferences(EnterpriseBean bean) {
-		List result = new ArrayList();
-		if (!bean.getEjbRefs().isEmpty())
-			result.addAll(bean.getEjbRefs());
-		if (!bean.getEjbLocalRefs().isEmpty())
-			result.addAll(bean.getEjbLocalRefs());
-		if (!bean.getResourceRefs().isEmpty())
-			result.addAll(bean.getResourceRefs());
-		if (!bean.getSecurityRoleRefs().isEmpty())
-			result.addAll(bean.getSecurityRoleRefs());
-		if (!bean.getResourceEnvRefs().isEmpty())
-			result.addAll(bean.getResourceEnvRefs());
-		return result;
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EESessionItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EESessionItemProvider.java
deleted file mode 100644
index d64d275..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/J2EESessionItemProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-
-
-/**
- * Insert the type's description here. Creation date: (6/20/2001 11:10:48 PM)
- * 
- * @author: Administrator
- */
-public class J2EESessionItemProvider extends org.eclipse.jst.j2ee.internal.ejb.provider.SessionItemProvider {
-	/**
-	 * J2EESessionItemProvider constructor comment.
-	 * 
-	 * @param adapterFactory
-	 *            org.eclipse.emf.common.notify.AdapterFactory
-	 */
-	public J2EESessionItemProvider(org.eclipse.emf.common.notify.AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		result.addAll(super.getChildrenSuper(object));
-		addServiceEndpointInterface((Session) object, result);
-		J2EEJavaClassProviderHelper.addChildren((Session) object, result);
-		return result;
-	}
-
-	/**
-	 * @param session
-	 * @param result
-	 */
-	private void addServiceEndpointInterface(Session session, Collection children) {
-		if (session.getVersionID() >= J2EEVersionConstants.EJB_2_1_ID && session.getServiceEndpoint() != null)
-			children.add(new ServiceEndpointInterfaceProviderHelper(session));
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalHomeInterfaceProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalHomeInterfaceProviderHelper.java
deleted file mode 100644
index cfea51a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalHomeInterfaceProviderHelper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-
-
-public class LocalHomeInterfaceProviderHelper extends J2EEJavaClassProviderHelper {
-
-	private static Image image;
-
-	/**
-	 * Constructor for LocalHomeInterfaceProviderHelper.
-	 * 
-	 * @param anEJB
-	 */
-	public LocalHomeInterfaceProviderHelper(EnterpriseBean anEJB) {
-		super(anEJB);
-	}
-
-	/**
-	 * @see J2EEJavaClassProviderHelper#getJavaClass()
-	 */
-	public JavaClass getJavaClass() {
-		return getEjb().getLocalHomeInterface();
-	}
-
-	public Image getImage() {
-		if (image == null)
-			image = createImage();
-		return image;
-	}
-
-	/**
-	 * @see J2EEJavaClassProviderHelper#getOverlayKey()
-	 */
-	protected String getOverlayKey() {
-		return "local_home_interface_overlay_obj"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see J2EEJavaClassProviderHelper#getTypeString(String)
-	 */
-	public String getTypeString(String className) {
-		return J2EEUIMessages.getResourceString("Local_Home_Interface_UI_", new Object[]{className}); //$NON-NLS-1$ = "Local Home Interface";
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalInterfaceProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalInterfaceProviderHelper.java
deleted file mode 100644
index 9a9af2d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/LocalInterfaceProviderHelper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-
-
-public class LocalInterfaceProviderHelper extends J2EEJavaClassProviderHelper {
-
-	private static Image image;
-
-	/**
-	 * Constructor for LocalInterfaceProviderHelper.
-	 * 
-	 * @param anEJB
-	 */
-	public LocalInterfaceProviderHelper(EnterpriseBean anEJB) {
-		super(anEJB);
-	}
-
-	public Image getImage() {
-		if (image == null)
-			image = createImage();
-		return image;
-	}
-
-	/**
-	 * @see J2EEJavaClassProviderHelper#getJavaClass()
-	 */
-	public JavaClass getJavaClass() {
-		return getEjb().getLocalInterface();
-	}
-
-	/**
-	 * @see J2EEJavaClassProviderHelper#getOverlayKey()
-	 */
-	protected String getOverlayKey() {
-		return "local_interface_overlay_obj";//$NON-NLS-1$
-	}
-
-	/**
-	 * @see J2EEJavaClassProviderHelper#getTypeString(String)
-	 */
-	public String getTypeString(String className) {
-		return J2EEUIMessages.getResourceString("Local_Interface_UI_", new Object[]{className}); //$NON-NLS-1$ = "Local Interface"
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodPermissionsContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodPermissionsContentProvider.java
deleted file mode 100644
index e2109e9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodPermissionsContentProvider.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.CMPAttribute;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.MethodPermission;
-import org.eclipse.jst.j2ee.ejb.internal.impl.EjbFactoryImpl;
-
-
-public class MethodPermissionsContentProvider extends AbstractMethodsContentProvider {
-	private static final EStructuralFeature PERMISSION_MES_SF = EjbFactoryImpl.getPackage().getMethodPermission_MethodElements();
-	private static final EStructuralFeature PERMISSION_MES_UNCHECKED_SF = EjbFactoryImpl.getPackage().getMethodPermission_Unchecked();
-	private static final EStructuralFeature PERMISSION_MES_ROLES_SF = EjbFactoryImpl.getPackage().getMethodPermission_Roles();
-	private static final EStructuralFeature AD_MP_SF = EjbFactoryImpl.getPackage().getAssemblyDescriptor_MethodPermissions();
-
-	/**
-	 * Constructor for MethodPermissionsContentProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param root
-	 * @param viewer
-	 */
-	public MethodPermissionsContentProvider(AdapterFactory adapterFactory, boolean root) {
-		super(adapterFactory, root);
-	}
-
-	/**
-	 * Constructor for MethodPermissionsContentProvider.
-	 * 
-	 * @param adapterFactory
-	 */
-	public MethodPermissionsContentProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/*
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof MethodPermission)
-			return getEnterpriseBeans((MethodPermission) parentElement);
-		return super.getChildren(parentElement);
-	}
-
-	protected Object[] getEnterpriseBeans(MethodPermission mp) {
-		List mes = mp.getMethodElements();
-		return getEnterpriseBeans(mp, mes);
-	}
-
-	/*
-	 * @see AbstractMethodsContentProvider#getMethodElements(EObject, EnterpriseBean)
-	 */
-	protected List getMethodElements(EObject aRefObject, EnterpriseBean anEJB) {
-		if (!(aRefObject instanceof MethodPermission))
-			return Collections.EMPTY_LIST;
-		MethodPermission parentMP = (MethodPermission) aRefObject;
-		if (parentMP == null)
-			return Collections.EMPTY_LIST;
-		return parentMP.getMethodElements(anEJB);
-	}
-
-	/*
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		super.getElements(inputElement);
-		if (inputElement instanceof EJBJar) {
-			EJBJar jar = (EJBJar) inputElement;
-			if (jar.getAssemblyDescriptor() != null)
-				return jar.getAssemblyDescriptor().getMethodPermissions().toArray();
-		}
-		if (inputElement instanceof AssemblyDescriptor)
-			return ((AssemblyDescriptor) inputElement).getMethodPermissions().toArray();
-		return new Object[0];
-	}
-
-	/*
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof MethodPermission)
-			return !((MethodPermission) element).getMethodElements().isEmpty();
-		return super.hasChildren(element);
-	}
-
-	/*
-	 * @see AbstractMethodsContentProvider#getMethodElementsReference()
-	 */
-	protected EStructuralFeature getMethodElementsReference() {
-		return PERMISSION_MES_SF;
-	}
-
-	/**
-	 * @see org.eclipse.jst.j2ee.internal.internal.ejb.ui.providers.AbstractMethodsContentProvider#getMethodElementsContainerReference()
-	 */
-	protected EStructuralFeature getMethodElementsContainerReference() {
-		return AD_MP_SF;
-	}
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.INotifyChangedListener#notifyChanged(Notification)
-	 */
-	public void notifyChanged(Notification notification) {
-		if (notification.getFeature() == PERMISSION_MES_SF || notification.getFeature() == AD_MP_SF)
-			refreshTreeViewer();
-		else if (notification.getOldValue() instanceof CMPAttribute && notification.getNewValue() == null)
-			return;
-		if (notification.getFeature() == PERMISSION_MES_UNCHECKED_SF || notification.getFeature() == PERMISSION_MES_ROLES_SF || notification.getFeature() == getMethodElementsReference() || notification.getFeature() == getMethodElementsContainerReference())
-			super.notifyChanged(notification);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodTransactionContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodTransactionContentProvider.java
deleted file mode 100644
index fe0e1b7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/MethodTransactionContentProvider.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jst.j2ee.ejb.AssemblyDescriptor;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.MethodTransaction;
-import org.eclipse.jst.j2ee.ejb.internal.impl.EjbFactoryImpl;
-
-
-public class MethodTransactionContentProvider extends AbstractMethodsContentProvider {
-	private static final EStructuralFeature TRANSACTION_MES_SF = EjbFactoryImpl.getPackage().getMethodTransaction_MethodElements();
-	private static final EStructuralFeature AD_MT_SF = EjbFactoryImpl.getPackage().getAssemblyDescriptor_MethodTransactions();
-
-	/**
-	 * Constructor for MethodTransactionContentProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param root
-	 * @param viewer
-	 */
-	public MethodTransactionContentProvider(AdapterFactory adapterFactory, boolean root) {
-		super(adapterFactory, root);
-	}
-
-	/**
-	 * Constructor for MethodTransationContentProvider.
-	 * 
-	 * @param adapterFactory
-	 */
-	public MethodTransactionContentProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/*
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof MethodTransaction)
-			return getEnterpriseBeans((MethodTransaction) parentElement);
-		return super.getChildren(parentElement);
-	}
-
-	protected Object[] getEnterpriseBeans(MethodTransaction mt) {
-		List mes = mt.getMethodElements();
-		return getEnterpriseBeans(mt, mes);
-	}
-
-	/*
-	 * @see AbstractMethodsContentProvider#getMethodElements(EObject, EnterpriseBean)
-	 */
-	protected List getMethodElements(EObject aRefObject, EnterpriseBean anEJB) {
-		if (!(aRefObject instanceof MethodTransaction))
-			return Collections.EMPTY_LIST;
-		MethodTransaction parentMT = (MethodTransaction) aRefObject;
-		if (parentMT == null)
-			return Collections.EMPTY_LIST;
-		return parentMT.getMethodElements(anEJB);
-	}
-
-	/*
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		super.getElements(inputElement);
-		if (inputElement instanceof EJBJar) {
-			EJBJar jar = (EJBJar) inputElement;
-			if (jar.getAssemblyDescriptor() != null)
-				return jar.getAssemblyDescriptor().getMethodTransactions().toArray();
-		}
-		if (inputElement instanceof AssemblyDescriptor)
-			return ((AssemblyDescriptor) inputElement).getMethodTransactions().toArray();
-		return new Object[0];
-	}
-
-	/*
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof MethodTransaction)
-			return !((MethodTransaction) element).getMethodElements().isEmpty();
-		return super.hasChildren(element);
-	}
-
-	/*
-	 * @see AbstractMethodsContentProvider#getMethodElementsReference()
-	 */
-	protected EStructuralFeature getMethodElementsReference() {
-		return TRANSACTION_MES_SF;
-	}
-
-	/**
-	 * @see org.eclipse.jst.j2ee.internal.internal.ejb.ui.providers.AbstractMethodsContentProvider#getMethodElementsContainerReference()
-	 */
-	protected EStructuralFeature getMethodElementsContainerReference() {
-		return AD_MT_SF;
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/PrimaryKeyClassProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/PrimaryKeyClassProviderHelper.java
deleted file mode 100644
index a2893b5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/PrimaryKeyClassProviderHelper.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Entity;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * Insert the type's description here. Creation date: (6/21/2001 12:28:55 AM)
- * 
- * @author: Administrator
- */
-public class PrimaryKeyClassProviderHelper extends J2EEJavaClassProviderHelper {
-	private static Image image;
-
-	/**
-	 * PrimaryKeyClassProviderHelper constructor comment.
-	 * 
-	 * @param cls
-	 *            org.eclipse.jem.internal.java.JavaClass
-	 */
-	public PrimaryKeyClassProviderHelper(EnterpriseBean anEJB) {
-		super(anEJB);
-	}
-
-	public Image getImage() {
-		if (image == null)
-			image = createImage();
-		return image;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (7/11/2001 1:54:22 PM)
-	 * 
-	 * @return org.eclipse.jem.internal.java.JavaClass
-	 */
-	public JavaClass getJavaClass() {
-		return ((Entity) getEjb()).getPrimaryKey();
-	}
-
-	protected String getOverlayKey() {
-		return "key_interf_ov";//$NON-NLS-1$
-	}
-
-	public String getTypeString(String className) {
-		return J2EEUIMessages.getResourceString("Primary_Key_Class_UI_", new Object[]{className}); //$NON-NLS-1$ = "Primary Key Class"
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/RemoteInterfaceProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/RemoteInterfaceProviderHelper.java
deleted file mode 100644
index 3fcb790..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/RemoteInterfaceProviderHelper.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * Insert the type's description here. Creation date: (6/21/2001 12:28:12 AM)
- * 
- * @author: Administrator
- */
-public class RemoteInterfaceProviderHelper extends J2EEJavaClassProviderHelper {
-	private static Image image;
-
-	/**
-	 * RemoteInterfaceProviderHelper constructor comment.
-	 * 
-	 * @param cls
-	 *            org.eclipse.jem.internal.java.JavaClass
-	 */
-	public RemoteInterfaceProviderHelper(EnterpriseBean anEJB) {
-		super(anEJB);
-	}
-
-	public Image getImage() {
-		if (image == null)
-			image = createImage();
-		return image;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (7/11/2001 1:55:48 PM)
-	 * 
-	 * @return org.eclipse.jem.internal.java.JavaClass
-	 */
-	public JavaClass getJavaClass() {
-		return getEjb().getRemoteInterface();
-	}
-
-	protected String getOverlayKey() {
-		return "remote_interface_overlay_obj";//$NON-NLS-1$
-	}
-
-	public String getTypeString(String className) {
-		return J2EEUIMessages.getResourceString("Remote_Interface_UI_", new Object[]{className}); //$NON-NLS-1$ = "Remote Interface"
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ServiceEndpointInterfaceProviderHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ServiceEndpointInterfaceProviderHelper.java
deleted file mode 100644
index 5ad2b0c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ejb/provider/ServiceEndpointInterfaceProviderHelper.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 19, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.ejb.provider;
-
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.ejb.Session;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * @author dfholttp
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class ServiceEndpointInterfaceProviderHelper extends J2EEJavaClassProviderHelper {
-	private static Image image;
-
-	/**
-	 * @param anEJB
-	 */
-	public ServiceEndpointInterfaceProviderHelper(EnterpriseBean anEJB) {
-		super(anEJB);
-	}
-
-	public Image getImage() {
-		if (image == null)
-			image = createImage();
-		return image;
-	}
-
-	/**
-	 * Insert the method's description here. Creation date: (7/11/2001 1:53:49 PM)
-	 * 
-	 * @return org.eclipse.jem.internal.java.JavaClass
-	 */
-	public JavaClass getJavaClass() {
-		return ((Session) getEjb()).getServiceEndpoint();
-	}
-
-	protected String getOverlayKey() {
-		//TODO: DFH we need an icon
-		return "";//$NON-NLS-1$
-	}
-
-	public String getTypeString(String className) {
-		return J2EEUIMessages.getResourceString("Service_Endpoint_Interface_UI_", new Object[]{className}); //$NON-NLS-1$ = "Home Interface"
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/IValidateEditListener.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/IValidateEditListener.java
deleted file mode 100644
index 0544eb5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/IValidateEditListener.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.listeners;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.events.ShellListener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.wst.common.internal.emfworkbench.validateedit.ResourceStateValidatorPresenter;
-
-
-public interface IValidateEditListener extends ResourceStateValidatorPresenter, IPartListener, ShellListener {
-	/**
-	 * This method should be called by any action that is about to edit any contents of any IFile.
-	 */
-	public IStatus validateState();
-
-	/**
-	 * Return true if there are any read only IFiles that are being managed.
-	 * 
-	 * @return boolean
-	 * @see com.ibm.etools.emf.workbench.ResourceStateInputProvider#getResources()
-	 */
-	boolean hasReadOnlyFiles();
-
-	/**
-	 * This method should be called prior to saving the contents. It returns true if the contents
-	 * can be saved.
-	 */
-	boolean checkSave() throws CoreException;
-
-	/**
-	 * Use this method to set the Shell that will be used to prompt to the user.
-	 */
-	void setShell(Shell aShell);
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java
deleted file mode 100644
index d8c8a96..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/listeners/ValidateEditListener.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.listeners;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jst.j2ee.internal.dialogs.ListMessageDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.events.ShellAdapter;
-import org.eclipse.swt.events.ShellEvent;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModel;
-import org.eclipse.wst.common.internal.emfworkbench.validateedit.IValidateEditContext;
-import org.eclipse.wst.common.internal.emfworkbench.validateedit.ResourceStateValidator;
-
-public class ValidateEditListener extends ShellAdapter implements IValidateEditListener, IValidateEditContext {
-	
-	protected ResourceStateValidator fValidator;
-	private boolean fNeedsStateValidation = true;
-	private Shell fShell;
-	private IWorkbenchPart fPart;
-	private boolean fHasReadOnlyFiles = false;
-	private boolean firstReadOnlyFileAttempt = true;
-	private boolean fMessageUp = false;
-	private boolean fIsActivating = false;
-	private boolean fIsDeactivating = false;
-	private boolean inconsistentResult;
-	private boolean inconsistentOverwriteResult;
-	
-	public ValidateEditListener() {
-		super();
-		try {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					IWorkbench wb = PlatformUI.getWorkbench();
-					if (wb == null) return;
-					IWorkbenchWindow window = wb.getActiveWorkbenchWindow();
-					if (window == null && wb.getWorkbenchWindowCount()>0) {
-						for (int i=0; i<wb.getWorkbenchWindows().length; i++) {
-							window = wb.getWorkbenchWindows()[i];
-							if (window != null)
-								break;
-						}
-						
-					}
-					if (window!=null)
-						setShell(window.getShell());
-				}
-			});
-			
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	/**
-	 * Constructor for ValidateEditHandler.
-	 */
-	public ValidateEditListener(IWorkbenchPart part, ResourceStateValidator aValidator) {
-		super();
-		fPart = part;
-		fValidator = aValidator;
-		if (part != null)
-			part.getSite().getPage().addPartListener(this);
-		if (getShell() != null)
-			getShell().addShellListener(this);
-	}
-
-	protected Shell getShell() {
-		if (fShell == null) {
-			if (fPart != null && fPart.getSite() != null)
-				fShell = fPart.getSite().getShell();
-		}
-		return fShell;
-	}
-
-	/**
-	 * @see IValidateEditListener#getValidator()
-	 */
-	public ResourceStateValidator getValidator() {
-		return fValidator;
-	}
-
-	/**
-	 * @see IValidateEditListener#getNeedsStateValidation()
-	 */
-	public boolean getNeedsStateValidation() {
-		return fNeedsStateValidation;
-	}
-
-	/**
-	 * @see IValidateEditListener#setNeedsStateValidation(boolean)
-	 */
-	public void setNeedsStateValidation(boolean needsStateValidation) {
-		fNeedsStateValidation = needsStateValidation;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.internal.emfworkbench.validateedit.ResourceStateValidatorPresenter#promptForInconsistentFileRefresh(List)
-	 */
-	public boolean promptForInconsistentFileRefresh(List inconsistentFiles) {
-		if (inconsistentFiles == null || inconsistentFiles.size() == 0) // this case should never
-			// occur.
-			return false;
-
-		List inconsistentFileNames = new ArrayList();
-		for (int i = 0; inconsistentFiles.size() > i; i++) {
-			Object file = inconsistentFiles.get(i);
-			if (file instanceof Resource) {
-				IFile aFile = WorkbenchResourceHelper.getFile((Resource) file);
-				inconsistentFileNames.add(aFile.getFullPath().toOSString());
-			} else if (file instanceof IResource) {
-				IResource resfile = (IResource) file;
-				if (!resfile.exists()) {
-					return false;
-				}
-				inconsistentFileNames.add(resfile.getFullPath().toOSString());
-			}
-		}
-
-		final String title = J2EEUIMessages.getResourceString("Inconsistent_Files_3"); //$NON-NLS-1$
-		final String message = J2EEUIMessages.getResourceString("The_following_workspace_files_are_inconsistent_with_the_editor_4") + J2EEUIMessages.getResourceString("Update_the_editor_with_the_workspace_contents__5"); //$NON-NLS-1$ //$NON-NLS-2$
-		final String[] fileNames = (String[])inconsistentFileNames.toArray(new String[inconsistentFileNames.size()]);
-		
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				inconsistentResult = ListMessageDialog.openQuestion(getShell(), title, message, fileNames);
-			}
-		});
-		return inconsistentResult;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.internal.emfworkbench.validateedit.ResourceStateValidatorPresenter#getValidateEditContext()
-	 */
-	public Object getValidateEditContext() {
-		return getShell();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPartListener#partActivated(IWorkbenchPart)
-	 */
-	public void partActivated(IWorkbenchPart part) {
-		if (part == fPart) {
-			handleActivation();
-		}
-	}
-
-	protected void handleActivation() {
-		if (fIsActivating)
-			return;
-		fIsActivating = true;
-		try {
-			fValidator.checkActivation(this);
-			updatePartReadOnly();
-		} catch (CoreException e) {
-			// do nothing for now
-		} finally {
-			fIsActivating = false;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.swt.events.ShellListener#shellActivated(ShellEvent)
-	 */
-	public void shellActivated(ShellEvent event) {
-		handleActivation();
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPartListener#partBroughtToTop(IWorkbenchPart)
-	 */
-	public void partBroughtToTop(IWorkbenchPart part) {
-		//do nothing
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPartListener#partClosed(IWorkbenchPart)
-	 */
-	public void partClosed(IWorkbenchPart part) {
-		if (part == fPart)
-			part.getSite().getPage().removePartListener(this);
-		if (getShell() != null)
-			getShell().removeShellListener(this);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPartListener#partDeactivated(IWorkbenchPart)
-	 */
-	public void partDeactivated(IWorkbenchPart part) {
-		if (part == fPart) {
-			if (fIsDeactivating)
-				return;
-			fIsDeactivating = true;
-			try {
-				fValidator.lostActivation(this);
-				updatePartReadOnly();
-			} catch (CoreException e) {
-				// do nothing for now
-			} finally {
-				fIsDeactivating = true;
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ui.IPartListener#partOpened(IWorkbenchPart)
-	 */
-	public void partOpened(IWorkbenchPart part) {
-		//do nothing
-	}
-
-	public IStatus validateState() {
-		IWorkbench wb = PlatformUI.getWorkbench();
-		if ((fShell==null) && (wb != null && (wb.getActiveWorkbenchWindow() != null)))
-			fShell=wb.getActiveWorkbenchWindow().getShell();
-		if (fNeedsStateValidation) {
-			setNeedsStateValidation(false);
-			try {
-				final IStatus status = fValidator.validateState(this);
-				if (status.getSeverity() == IStatus.ERROR) {
-					setNeedsStateValidation(true);
-					if (!fMessageUp) {
-						fMessageUp = true;
-						Display.getDefault().asyncExec(new Runnable() {
-							public void run() {
-								MessageDialog.openError(getShell(), J2EEUIMessages.getResourceString("Error_checking_out_files_10"), status.getMessage()); //$NON-NLS-1$
-							}
-						});
-						fMessageUp = false;
-					}
-				}
-				fValidator.checkActivation(this);
-				updatePartReadOnly();
-				return status;
-			} catch (CoreException e) {
-				// do nothing for now
-			}
-		}
-		return ResourceStateValidator.OK_STATUS;
-	}
-
-	/**
-	 * @see org.eclipse.wst.common.internal.emfworkbench.validateedit.ResourceStateValidatorPresenter#promptForInconsistentFileOverwrite(List)
-	 */
-	public boolean promptForInconsistentFileOverwrite(List inconsistentFiles) {
-		int size = inconsistentFiles.size();
-		List files = new ArrayList();
-		IFile file = null;
-		for (int i = 0; i < size; i++) {
-			file = (IFile) inconsistentFiles.get(i);
-			files.add(file.getFullPath().toString());
-		}
-		final String[] items = (String[])files.toArray(new String[files.size()]);
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				inconsistentOverwriteResult = ListMessageDialog.openQuestion(getShell(), J2EEUIMessages.getResourceString("Inconsistent_files_detected_11"), //$NON-NLS-1$
-					J2EEUIMessages.getResourceString("The_following_files_are_inconsistent_with_the_file_system._Do_you_want_to_save_and_overwrite_these_files_on_the_file_system__12_WARN_"), //$NON-NLS-1$
-					items);
-			}
-		});
-		return inconsistentOverwriteResult;
-	}
-
-	protected boolean checkReadOnly() {
-		fHasReadOnlyFiles = fValidator.checkReadOnly();
-		return fHasReadOnlyFiles;
-	}
-
-	/**
-	 * @see IValidateEditListener#hasReadOnlyFiles()
-	 */
-	public boolean hasReadOnlyFiles() {
-		if (firstReadOnlyFileAttempt) {
-			checkReadOnly();
-			firstReadOnlyFileAttempt = false;
-		}
-		return fHasReadOnlyFiles;
-	}
-
-	/**
-	 * Method updatePartReadOnly.
-	 */
-	protected void updatePartReadOnly() {
-		if (!getNeedsStateValidation()) {
-			checkReadOnly();
-			setNeedsStateValidation(true);
-		} else { //So that J2EEXMLActionBarContributor get updated info when editor Activated.
-			firstReadOnlyFileAttempt = true;
-		}
-	}
-
-	public boolean checkSave() throws CoreException {
-		return validateState().isOK() && getValidator().checkSave(this);
-	}
-
-	public void setShell(Shell aShell) {
-		fShell = aShell;
-	}
-	
-	public void setEditModel(EditModel anEditModel) {
-		fValidator = anEditModel;
-		
-	}
-
-	public IStatus validateState(EditModel anEditModel) {
-		setEditModel(anEditModel);
-		return validateState();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/perspective/J2EEPerspective.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/perspective/J2EEPerspective.java
deleted file mode 100644
index 34fee66..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/perspective/J2EEPerspective.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 7, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.perspective;
-
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPreferences;
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressConstants;
-import org.eclipse.ui.views.IViewDescriptor;
-
-/**
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class J2EEPerspective implements org.eclipse.ui.IPerspectiveFactory {
-
-	protected static String ID_SERVERS_VIEW = "org.eclipse.wst.server.ui.ServersView"; //$NON-NLS-1$
-	protected static String ID_J2EE_HIERARCHY_VIEW = "org.eclipse.ui.navigator.ProjectExplorer"; //$NON-NLS-1$
-
-	private static String ID_WST_SNIPPETS_VIEW = "org.eclipse.wst.common.snippets.internal.ui.SnippetsView"; //$NON-NLS-1$	
-	private static final String ID_SEARCH_VIEW = "org.eclipse.search.ui.views.SearchView"; //$NON-NLS-1$
-	private static final String ID_DATA_VIEW = "org.eclipse.datatools.connectivity.DataSourceExplorerNavigator"; //$NON-NLS-1$
-	public static final String ID_CONSOLE_VIEW= "org.eclipse.ui.console.ConsoleView"; //$NON-NLS-1$
-
-	public J2EEPerspective() {
-		super();
-		//If preference exists for alternate view, replace.
-		String viewerID = J2EEPlugin.getDefault().getJ2EEPreferences().getString(J2EEPreferences.Keys.ID_PERSPECTIVE_HIERARCHY_VIEW);
-		if (viewerID != null)
-			ID_J2EE_HIERARCHY_VIEW = viewerID;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-	 */
-	public void createInitialLayout(IPageLayout layout) {
-		defineLayout(layout);
-		defineActions(layout);
-	}
-	
-	
-
-	public void defineActions(IPageLayout layout) {
-		layout.addActionSet("org.eclipse.jst.j2ee.J2eeMainActionSet"); //$NON-NLS-1$
-		layout.addActionSet("org.eclipse.jdt.ui.JavaActionSet"); //$NON-NLS-1$
-
-		layout.addActionSet(IDebugUIConstants.LAUNCH_ACTION_SET);
-		layout.addActionSet(IDebugUIConstants.DEBUG_ACTION_SET);
-
-		layout.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET);
-
-		layout.addShowViewShortcut(ID_J2EE_HIERARCHY_VIEW);
-		layout.addShowViewShortcut(ID_SERVERS_VIEW);
-		layout.addShowViewShortcut(ID_DATA_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_BOOKMARKS);
-		layout.addShowViewShortcut(IPageLayout.ID_OUTLINE);
-		layout.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
-		layout.addShowViewShortcut(IPageLayout.ID_PROP_SHEET);
-		layout.addShowViewShortcut(IPageLayout.ID_RES_NAV);
-		layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST);
-		layout.addShowViewShortcut(ID_WST_SNIPPETS_VIEW);
-		
-		// views - search
-		layout.addShowViewShortcut(ID_SEARCH_VIEW);
-		// views - debugging
-		layout.addShowViewShortcut(ID_CONSOLE_VIEW);
-
-		layout.addShowInPart(ID_J2EE_HIERARCHY_VIEW);
-	}
-
-	public void defineLayout(IPageLayout layout) {
-		// Editors are placed for free.
-		String editorArea = layout.getEditorArea();
-
-		// Top left.
-		IFolderLayout topLeft = layout.createFolder("topLeft", IPageLayout.LEFT, 0.25f, editorArea);//$NON-NLS-1$
-		topLeft.addView(ID_J2EE_HIERARCHY_VIEW);
-		topLeft.addPlaceholder(IPageLayout.ID_RES_NAV);
-		topLeft.addPlaceholder(JavaUI.ID_TYPE_HIERARCHY);
-		topLeft.addPlaceholder(JavaUI.ID_PACKAGES_VIEW);
-
-		// Bottom right.
-		IFolderLayout bottomRight = layout.createFolder("bottomRight", IPageLayout.BOTTOM, 0.7f, editorArea);//$NON-NLS-1$
-		bottomRight.addView(IPageLayout.ID_PROBLEM_VIEW);
-		bottomRight.addView(IPageLayout.ID_TASK_LIST);
-		bottomRight.addView(IPageLayout.ID_PROP_SHEET);
-		bottomRight.addView(ID_SERVERS_VIEW);
-		addDBViewIfPresent(layout,bottomRight);
-		bottomRight.addView(ID_WST_SNIPPETS_VIEW);
-		
-		bottomRight.addPlaceholder(ID_CONSOLE_VIEW);
-		bottomRight.addPlaceholder(IPageLayout.ID_BOOKMARKS);
-		bottomRight.addPlaceholder(IProgressConstants.PROGRESS_VIEW_ID);
-		bottomRight.addPlaceholder(ID_SEARCH_VIEW);
-
-		// Top right.
-		IFolderLayout topRight = layout.createFolder("topRight", IPageLayout.RIGHT, 0.7f, editorArea);//$NON-NLS-1$
-		topRight.addView(IPageLayout.ID_OUTLINE);
-	}
-	private void addDBViewIfPresent(IPageLayout page,IFolderLayout bottomRight) {
-		// TODO Auto-generated method stub
-		IViewDescriptor dbView = PlatformUI.getWorkbench().getViewRegistry().find(ID_DATA_VIEW);
-		if (dbView != null)
-			bottomRight.addView(ID_DATA_VIEW);
-	}
-}
-
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/BinaryEditorUtilities.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/BinaryEditorUtilities.java
deleted file mode 100644
index 8eb3bb8..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/BinaryEditorUtilities.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jdt.core.IJavaModelStatusConstants;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.JavaModelStatus;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-
-public class BinaryEditorUtilities {
-
-	private static class JarEntryFile extends PlatformObject implements
-			IStorage {
-		private String entryName;
-		private String zipName;
-		private IPath path;
-
-		public JarEntryFile(String entryName, String zipName) {
-			this.entryName = entryName;
-			this.zipName = zipName;
-			this.path = new Path(this.entryName);
-		}
-
-		public InputStream getContents() throws CoreException {
-
-			try {
-				if (JavaModelManager.ZIP_ACCESS_VERBOSE) {
-					//$ANALYSIS-IGNORE
-					System.out.println("(" + Thread.currentThread() + ") [JarEntryFile.getContents()] Creating ZipFile on " + this.zipName);
-				}
-				ZipFile zipFile = new ZipFile(this.zipName);
-				ZipEntry zipEntry = zipFile.getEntry(this.entryName);
-				if (zipEntry == null) {
-					throw new JavaModelException(new JavaModelStatus(
-							IJavaModelStatusConstants.INVALID_PATH,
-							this.entryName));
-				}
-				return zipFile.getInputStream(zipEntry);
-			} catch (IOException e) {
-				throw new JavaModelException(e,
-						IJavaModelStatusConstants.IO_EXCEPTION);
-			}
-		}
-
-		/**
-		 * @see IStorage#getFullPath
-		 */
-		public IPath getFullPath() {
-			return this.path;
-		}
-
-		/**
-		 * @see IStorage#getName
-		 */
-		public String getName() {
-			return this.path.lastSegment();
-		}
-
-		/**
-		 * @see IStorage#isReadOnly()
-		 */
-		public boolean isReadOnly() {
-			return true;
-		}
-
-		/**
-		 * @see IStorage#isReadOnly()
-		 */
-		public String toString() {
-			return "JarEntryFile[" + this.zipName + "::" + this.entryName + "]"; //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-1$
-		}
-	}
-
-	private static class JarEntryEditorInput implements IStorageEditorInput {
-
-		private IStorage fJarEntryFile;
-
-		public JarEntryEditorInput(IStorage jarEntryFile) {
-			fJarEntryFile = jarEntryFile;
-		}
-
-		/*
-		 */
-		public boolean equals(Object obj) {
-			if (this == obj)
-				return true;
-			if (!(obj instanceof JarEntryEditorInput))
-				return false;
-			JarEntryEditorInput other = (JarEntryEditorInput) obj;
-			return fJarEntryFile.equals(other.fJarEntryFile);
-		}
-
-		/*
-		 * @see IEditorInput#getPersistable()
-		 */
-		public IPersistableElement getPersistable() {
-			return null;
-		}
-
-		/*
-		 * @see IEditorInput#getName()
-		 */
-		public String getName() {
-			return fJarEntryFile.getName();
-		}
-
-		/*
-		 * @see IEditorInput#getFullPath()
-		 */
-		public String getFullPath() {
-			return fJarEntryFile.getFullPath().toString();
-		}
-
-		/*
-		 * @see IEditorInput#getContentType()
-		 */
-		public String getContentType() {
-			return fJarEntryFile.getFullPath().getFileExtension();
-		}
-
-		/*
-		 * @see IEditorInput#getToolTipText()
-		 */
-		public String getToolTipText() {
-			return fJarEntryFile.getFullPath().toString();
-		}
-
-		/*
-		 * @see IEditorInput#getImageDescriptor()
-		 */
-		public ImageDescriptor getImageDescriptor() {
-			IEditorRegistry registry = PlatformUI.getWorkbench()
-					.getEditorRegistry();
-			return registry.getImageDescriptor(fJarEntryFile.getFullPath()
-					.getFileExtension());
-		}
-
-		/*
-		 * @see IEditorInput#exists()
-		 */
-		public boolean exists() {
-			// JAR entries can't be deleted
-			return true;
-		}
-
-		/*
-		 * @see IAdaptable#getAdapter(Class)
-		 */
-		public Object getAdapter(Class adapter) {
-			return null;
-		}
-
-		/*
-		 * see IStorageEditorInput#getStorage()
-		 */
-		public IStorage getStorage() {
-			return fJarEntryFile;
-		}
-	}
-
-	public static IEditorInput getBinaryEditorInput(
-			VirtualArchiveComponent component, String archiveRelativePath) {
-		
-		IEditorInput input = null;
-		IPath archivePath = component.getWorkspaceRelativePath();
-		
-		//[Bug 238616] if there is no workspace relative path then the archive is outside
-		//	the workspace so get the OS path directly from the file
-		if(archivePath != null) {
-			input = getBinaryEditorInput(archivePath, archiveRelativePath);
-		} else {
-			String archiveOSPath = component.getUnderlyingDiskFile().getPath();
-			input = getBinaryEditorInput(archiveOSPath, archiveRelativePath);
-		}
-		
-		return input;
-	}
-
-	public static IEditorInput getBinaryEditorInput(IPath archivePath,
-			String archiveRelativePath) {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkspaceRoot root = workspace.getRoot();
-		IResource resource = root.findMember(archivePath);
-		if (resource == null) {
-			return null;
-		}
-		String archiveOSPath = resource.getLocation().toOSString();
-		IEditorInput editorInput = getBinaryEditorInput(archiveOSPath, archiveRelativePath);
-		return editorInput;
-	}
-	
-	/**
-	 * [Bug 238616]
-	 * 
-	 * Gets binary editor input given an OS relative path to an archive and
-	 * 	the archive relative path to a file
-	 * 
-	 * @param archiveOSPath the OS relative path to the archive
-	 * @param archiveRelativePath the archive relative path to the file to get binary editor input for
-	 * @return
-	 */
-	public static IEditorInput getBinaryEditorInput(String archiveOSPath,
-			String archiveRelativePath) {
-		JarEntryFile jarFile = new JarEntryFile(archiveRelativePath, archiveOSPath);
-		JarEntryEditorInput editorInput = new JarEntryEditorInput(jarFile);
-		return editorInput;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/CommonEditorUtility.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/CommonEditorUtility.java
deleted file mode 100644
index 6bad64f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/CommonEditorUtility.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.plugin;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.EditorManager;
-
-
-
-/**
- * @author cbridgha
- *
- */
-public class CommonEditorUtility {
-
-	public static final Class IRESOURCE_CLASS = IResource.class;
-
-	private CommonEditorUtility() {
-		super();
-	}
-
-	/**
-	 * Returns an array of all editors that have an unsaved content. If the identical content is
-	 * presented in more than one editor, only one of those editor parts is part of the result.
-	 * 
-	 * @return an array of all dirty editor parts.
-	 */
-	public static IEditorPart[] getDirtyEditors() {
-		return getDirtyEditors(null);
-	}
-
-	/**
-	 * Returns an array of all editors that have an unsaved content, where the content is include in
-	 * one of the projects in the List parameter. If the identical content is presented in more than
-	 * one editor, only one of those editor parts is part of the result.
-	 * 
-	 * @return an array of all dirty editor parts.
-	 */
-	public static IEditorPart[] getDirtyEditors(List projects) {
-		Set inputs = new HashSet();
-		List result = new ArrayList(0);
-		IWorkbench workbench = J2EEUIPlugin.getPluginWorkbench();
-		IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			IWorkbenchPage[] pages = windows[i].getPages();
-			for (int x = 0; x < pages.length; x++) {
-				IEditorPart[] editors = pages[x].getDirtyEditors();
-				for (int z = 0; z < editors.length; z++) {
-					IEditorPart ep = editors[z];
-					IEditorInput input = ep.getEditorInput();
-					if (!inputs.contains(input) && (projects == null || inputInProjects(input, projects))) {
-						inputs.add(input);
-						result.add(ep);
-					}
-				}
-			}
-		}
-		return (IEditorPart[]) result.toArray(new IEditorPart[result.size()]);
-	}
-
-	public static boolean inputInProjects(IEditorInput input, List projects) {
-		IResource res = (IResource) input.getAdapter(IRESOURCE_CLASS);
-		IProject project = res == null ? null : res.getProject();
-		if (project == null)
-			return false;
-		for (int i = 0; i < projects.size(); i++) {
-			if (project.equals(projects.get(i)))
-				return true;
-		}
-		return false;
-	}
-
-	public static boolean promptToSaveAllDirtyEditors() {
-		return promptToSaveDirtyEditors(Arrays.asList(getDirtyEditors()));
-	}
-
-	public static boolean promptToSaveDirtyEditors(List dirtyEditors) {
-		if (dirtyEditors.isEmpty())
-			return true;
-		return EditorManager.saveAll(dirtyEditors, true, true,false, J2EEUIPlugin.getActiveWorkbenchWindow());
-	}
-	
-	/**
-	 * This will close all editors without prompting for save.
-	 * @param dirtyEditors
-	 * @return true is succeeded, false if not
-	 */
-	public static void closeAllEditors() {
-		
-		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		page.closeAllEditors(false);
-		
-	}
-
-	public static boolean promptToSaveDirtyEditorsInProjects(List projects) {
-		return promptToSaveDirtyEditors(Arrays.asList(getDirtyEditors(projects)));
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/ErrorDialog.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/ErrorDialog.java
deleted file mode 100644
index 60f11ee..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/ErrorDialog.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Added a Details button to the MessageDialog to show the exception stack trace.
- * 
- * Borrowed from an eclipse InternalErrorDialog
- */
-public class ErrorDialog extends MessageDialog {
-	protected static final String[] LABELS_OK = {IDialogConstants.OK_LABEL};
-	protected static final String[] LABELS_OK_CANCEL = {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL};
-	protected static final String[] LABELS_OK_DETAILS = {IDialogConstants.OK_LABEL, IDialogConstants.SHOW_DETAILS_LABEL};
-	protected static final String[] LABELS_OK_CANCEL_DETAILS = {IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL, IDialogConstants.SHOW_DETAILS_LABEL};
-	private Throwable detail;
-	private int detailButtonID = -1;
-	private Text text;
-	private String message;
-	//Workaround. SWT does not seem to set the default button if
-	//there is not control with focus. Bug: 14668
-	private int defaultButtonIndex = 0;
-	/**
-	 * Size of the text in lines.
-	 */
-	private static final int TEXT_LINE_COUNT = 15;
-
-	public ErrorDialog(Shell parentShell, String dialogTitle, Image dialogTitleImage, String dialogMessage, Throwable detail, int dialogImageType, String[] dialogButtonLabels, int defaultIndex) {
-		super(parentShell, dialogTitle, dialogTitleImage, dialogMessage, dialogImageType, dialogButtonLabels, defaultIndex);
-		defaultButtonIndex = defaultIndex;
-		this.detail = detail;
-		message = dialogMessage;
-		setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL | SWT.RESIZE);
-	}
-
-	//Workaround. SWT does not seem to set rigth the default button if
-	//there is not control with focus. Bug: 14668
-	public int open() {
-		create();
-		Button b = getButton(defaultButtonIndex);
-		b.setFocus();
-		b.getShell().setDefaultButton(b);
-		return super.open();
-	}
-
-	/**
-	 * Set the detail button;
-	 */
-	public void setDetailButton(int index) {
-		detailButtonID = index;
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == detailButtonID) {
-			toggleDetailsArea();
-		} else {
-			setReturnCode(buttonId);
-			close();
-		}
-	}
-
-	/**
-	 * Toggles the unfolding of the details area. This is triggered by the user pressing the details
-	 * button.
-	 */
-	private void toggleDetailsArea() {
-		Point windowSize = getShell().getSize();
-		Point oldSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		if (text != null) {
-			text.dispose();
-			text = null;
-			getButton(detailButtonID).setText(IDialogConstants.SHOW_DETAILS_LABEL);
-		} else {
-			createDropDownText((Composite) getContents());
-			getButton(detailButtonID).setText(IDialogConstants.HIDE_DETAILS_LABEL);
-		}
-		Point newSize = getContents().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		getShell().setSize(new Point(windowSize.x, windowSize.y + (newSize.y - oldSize.y)));
-	}
-
-	/**
-	 * Create this dialog's drop-down list component.
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @return the drop-down list component
-	 */
-	protected void createDropDownText(Composite parent) {
-		// create the list
-		text = new Text(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		// print the stacktrace in the text field
-		try {
-			ByteArrayOutputStream baos = new ByteArrayOutputStream();
-			PrintStream ps = new PrintStream(baos);
-			detail.printStackTrace(ps);
-			if ((detail instanceof SWTError) && (((SWTError) detail).throwable != null)) {
-				ps.println("\n*** Stack trace of contained exception ***"); //$NON-NLS-1$
-				((SWTError) detail).throwable.printStackTrace(ps);
-			} else if ((detail instanceof SWTException) && (((SWTException) detail).throwable != null)) {
-				ps.println("\n*** Stack trace of contained exception ***"); //$NON-NLS-1$
-				((SWTException) detail).throwable.printStackTrace(ps);
-			}
-			ps.flush();
-			baos.flush();
-			text.setText(baos.toString());
-		} catch (IOException e) {
-			//Ignore
-		}
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL | GridData.GRAB_VERTICAL);
-		data.heightHint = text.getLineHeight() * TEXT_LINE_COUNT;
-		text.setLayoutData(data);
-	}
-
-	public static boolean openError(Shell parent, String title, String message, Throwable detail, int defaultIndex, boolean showCancel) {
-		String[] labels;
-		if (detail == null)
-			labels = showCancel ? LABELS_OK_CANCEL : LABELS_OK;
-		else
-			labels = showCancel ? LABELS_OK_CANCEL_DETAILS : LABELS_OK_DETAILS;
-		ErrorDialog dialog = new ErrorDialog(parent, title, null, // accept
-					// the
-					// default
-					// window
-					// icon
-					message, detail, ERROR, labels, defaultIndex);
-		if (detail != null)
-			dialog.setDetailButton(labels.length - 1);
-		return dialog.open() == 0;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		// create a composite with standard margins and spacing
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-		((GridLayout) composite.getLayout()).numColumns = 2;
-		// create image
-		Image image = composite.getDisplay().getSystemImage(SWT.ICON_ERROR);
-		if (image != null) {
-			Label label = new Label(composite, 0);
-			image.setBackground(label.getBackground());
-			label.setImage(image);
-			label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER | GridData.VERTICAL_ALIGN_BEGINNING));
-		}
-		// create message
-		if (message != null) {
-			Label label = new Label(composite, SWT.WRAP);
-			label.setText(message);
-			GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-			data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH);
-			label.setLayoutData(data);
-			label.setFont(parent.getFont());
-		}
-		return composite;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/FacetedProjectActionFilter.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/FacetedProjectActionFilter.java
deleted file mode 100644
index 844f4de..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/FacetedProjectActionFilter.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.ui.IActionFilter;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class FacetedProjectActionFilter
-
-    implements IActionFilter
-    
-{
-    public boolean testAttribute( final Object target, 
-                                  final String name, 
-                                  final String value )
-    {
-    	
-        if( name.equals( "facet" ) ) //$NON-NLS-1$
-        {
-        	IProject project = (IProject)target;
-        	IFacetedProject fproj = null;
-        	if(project.isAccessible()){
-				try {
-					fproj = ProjectFacetsManager.create( project );
-				} catch (CoreException e1) {
-					Logger.getLogger().logError(e1);
-				}
-        	}
-
-            if( fproj != null ){
-	            final int colon = value.indexOf( ':' );
-	            final String fid;
-	            final String vexprstr;
-	            
-	            if( colon == -1 || colon == value.length() - 1 )
-	            {
-	                fid = value;
-	                vexprstr = null;
-	            }
-	            else
-	            {
-	                fid = value.substring( 0, colon );
-	                vexprstr = value.substring( colon + 1 );
-	            }
-	            
-	            if( ! ProjectFacetsManager.isProjectFacetDefined( fid ) )
-	            {
-	                return false;
-	            }
-	            
-	            final IProjectFacet f = ProjectFacetsManager.getProjectFacet( fid );
-	            
-	            if( ! fproj.hasProjectFacet( f ) )
-	            {
-	                return false;
-	            }
-	            
-	            if( vexprstr == null )
-	            {
-	                return true;
-	            }
-	            else
-	            {
-	                final IProjectFacetVersion fv = fproj.getInstalledVersion( f );
-	                
-	                try
-	                {
-	                    if( f.getVersions( vexprstr ).contains( fv ) )
-	                    {
-	                        return true;
-	                    }
-	                }
-	                catch( CoreException e )
-	                {
-	                	//EJBUIPlugin.getDefault().log
-	                }
-	            }
-	            
-	            return false;
-	        }
-	        else
-	        {
-	            return false;
-	        }
-        }
-        return true;
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/FacetedProjectAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/FacetedProjectAdapterFactory.java
deleted file mode 100644
index 4ee36d0..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/FacetedProjectAdapterFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.ui.IActionFilter;
-
-public class FacetedProjectAdapterFactory implements IAdapterFactory {
-
-
-    private static final Class[] ADAPTER_TYPES = { IActionFilter.class };
-    
-    public Object getAdapter( final Object adaptable, 
-                              final Class adapterType )
-    {
-        if( adapterType == IActionFilter.class )
-        {
-            return new FacetedProjectActionFilter();
-        }
-        else
-        {
-            return null;
-        }
-    }
-
-    public Class[] getAdapterList()
-    {
-        return ADAPTER_TYPES;
-    }
-    
-    
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEEditorUtility.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEEditorUtility.java
deleted file mode 100644
index 6fce02a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEEditorUtility.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
-import org.eclipse.jem.internal.adapters.jdom.JavaClassJDOMAdaptor;
-import org.eclipse.jem.internal.java.adapters.ReadAdaptor;
-import org.eclipse.jem.java.JavaClass;
-import org.eclipse.jem.java.JavaPackage;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.workbench.utility.JemProjectUtilities;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-
-/**
- * A number of routines for working with JavaElements in editors
- * 
- * Use 'isOpenInEditor' to test if an element is already open in a editor Use 'openInEditor' to
- * force opening an element in a editor With 'getWorkingCopy' you get the working copy (element in
- * the editor) of an element
- */
-public class J2EEEditorUtility {
-	// //$NON-NLS-1$
-	public static final String EJB_JAVA_EDITOR_ID = "org.eclipse.jst.j2ee.internal.internal.ejb.ui.misc.EJBJavaEditor"; //$NON-NLS-1$
-
-	public static ICompilationUnit getCompilationUnit(JavaClass javaClass) {
-		IProject project = ProjectUtilities.getProject(javaClass);
-		if (project == null)
-			return null;
-		return getCompilationUnit(javaClass, project);
-	}
-
-	public static ICompilationUnit getCompilationUnit(JavaClass javaClass, IProject project) {
-		if (javaClass == null)
-			return null;
-		IJavaProject javaProj = getJavaProject(project);
-		if (javaProj == null)
-			return null;
-		return getCompilationUnit(javaClass, javaProj);
-	}
-
-	public static ICompilationUnit getCompilationUnit(JavaClass javaClass, IJavaProject javaProject) {
-		if (javaClass == null)
-			return null;
-		IType type = getType(javaClass);
-		if (type != null)
-			return type.getCompilationUnit();
-		return null;
-	}
-
-	public static IType getType(JavaClass javaClass) {
-		if (javaClass != null) {
-			JavaClassJDOMAdaptor adaptor = (JavaClassJDOMAdaptor) EcoreUtil.getRegisteredAdapter(javaClass, ReadAdaptor.TYPE_KEY);
-			if (adaptor != null)
-				return adaptor.getSourceType();
-		}
-		return null;
-	}
-
-	public static IEditorInput getEditorInput(Object input) {
-		if (input instanceof EObject)
-			return new FileEditorInput(WorkbenchResourceHelper.getFile((EObject) input));
-		if (input instanceof IFile)
-			return new FileEditorInput((IFile) input);
-		return null;
-	}
-
-	public static IFile getFile(JavaClass javaClass) {
-		ICompilationUnit comp = getCompilationUnit(javaClass);
-		if (comp == null)
-			return null;
-		IEditorInput input = null;
-		input = EditorUtility.getEditorInput(comp);
-		if (input != null) {
-			return (IFile) input.getAdapter(IFile.class);
-		}
-		return null;
-	}
-
-	public static IJavaProject getJavaProject(IProject aProject) {
-		if (aProject == null)
-			return null;
-		IJavaModel javaModel = JemProjectUtilities.getJavaModel();
-		return javaModel.getJavaProject(aProject.getName());
-	}
-
-	/**
-	 * Return the IPackageFragment for the JavaPackage for
-	 * 
-	 * @javaClass.
-	 */
-	public static IPackageFragment getPackageFragment(JavaClass javaClass, IJavaProject javaProject) {
-		if (javaProject != null) {
-			try {
-				JavaPackage javaPackage = (JavaPackage) javaClass.eContainer();
-				String packageName = javaPackage.getName();
-				IPackageFragment[] pkgFrags = javaProject.getPackageFragments();
-				for (int i = 0; i < pkgFrags.length; i++) {
-					if ((pkgFrags[i].getElementName().equals(packageName)))
-						return pkgFrags[i];
-				}
-			} catch (JavaModelException e) {
-				//Ignore
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Opens a Java editor for the given element if the element is a Java compilation unit or a Java
-	 * class file.
-	 * 
-	 * @return the IEditorPart or null if wrong element type or opening failed
-	 */
-	public static IEditorPart openInEditor(JavaClass javaClass, IProject aProject) throws JavaModelException, PartInitException {
-		return openInEditor(javaClass, getJavaProject(aProject));
-	}
-
-	/**
-	 * Opens a Java editor for the given element if the element is a Java compilation unit or a Java
-	 * class file.
-	 * 
-	 * @return the IEditorPart or null if wrong element type or opening failed
-	 */
-	public static IEditorPart openInEditor(JavaClass javaClass, IJavaProject javaProject) throws JavaModelException, PartInitException {
-		if (javaClass == null || javaProject == null)
-			return null;
-		IType type = getType(javaClass);
-		if (type == null)
-			return openInEditor(getCompilationUnit(javaClass, javaProject));
-		return EditorUtility.openInEditor(type);
-	}
-
-
-	/**
-	 * Opens a Java editor for the given element if the element is a Java compilation unit or a Java
-	 * class file.
-	 * 
-	 * @return the IEditorPart or null if wrong element type or opening failed
-	 */
-	public static IEditorPart openInEditor(JavaClass javaClass, IJavaProject javaProject, String editorId) throws JavaModelException, PartInitException {
-		return openInEditor(getCompilationUnit(javaClass, javaProject), editorId);
-	}
-
-	/**
-	 * Opens a Java editor for the given element if the element is a Java compilation unit or a Java
-	 * class file.
-	 * 
-	 * @return the IEditorPart or null if wrong element type or opening failed
-	 */
-	public static IEditorPart openInEditor(ICompilationUnit aCompilationUnit) throws JavaModelException, PartInitException {
-		return EditorUtility.openInEditor(aCompilationUnit);
-	}
-
-	/**
-	 * Opens a Java editor for the given element if the element is a Java compilation unit or a Java
-	 * class file.
-	 * 
-	 * @return the IEditorPart or null if wrong element type or opening failed
-	 */
-	public static IEditorPart openInEditor(ICompilationUnit aCompilationUnit, String editorId) throws JavaModelException, PartInitException {
-		return openInEditor(EditorUtility.getEditorInput(aCompilationUnit), editorId);
-	}
-
-	private static IEditorPart openInEditor(IEditorInput input, String editorID) throws PartInitException {
-		if (input != null) {
-			IWorkbenchPage p = J2EEUIPlugin.getActiveWorkbenchWindow().getActivePage();
-			if (p != null)
-				return p.openEditor(input, editorID, true);
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIAdapterFactory.java
deleted file mode 100644
index 372f44c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIAdapterFactory.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jun 30, 2004
- */
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.ui.actions.ILaunchable;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * @author jlanuti
- */
-public class J2EEUIAdapterFactory implements IAdapterFactory {
-
-	protected static final Class ILAUNCHABLE_CLASS = ILaunchable.class;
-
-	/**
-	 * Default Constructor
-	 */
-	public J2EEUIAdapterFactory() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adaptableObject instanceof EObject) {
-			if (adapterType == ILAUNCHABLE_CLASS)
-				return adaptableObject;
-		}
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[]{ILAUNCHABLE_CLASS};
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIContextIds.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIContextIds.java
deleted file mode 100644
index 7d8053c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIContextIds.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Feb 27, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.plugin;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public interface J2EEUIContextIds {
-
-	//	Delete Enterprise Bean Dialog
-	public static final String DELETE_ENTERPRISE_BEAN_DIALOG = J2EEUIPlugin.PLUGIN_ID + ".delb1000"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIMessages.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIMessages.java
deleted file mode 100644
index 124eb00..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIMessages.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Stefan Dimov, stefan.dimov@sap.com - bug 207826
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.wst.common.frameworks.internal.Messages;
-
-
-public class J2EEUIMessages extends Messages {
-	
-	private static final J2EEUIMessages INSTANCE = new J2EEUIMessages();
-
-	public static final String PROJECT_LOC_LBL = "1"; //$NON-NLS-1$
-	public static final String TARGET_RUNTIME_LBL = "2"; //$NON-NLS-1$
-	public static final String J2EE_VERSION_LBL = "3"; //$NON-NLS-1$
-	public static final String IMAGE_LOAD_ERROR = "4"; //$NON-NLS-1$
-	public static final String APP_PROJECT_WIZ_TITLE = "5"; //$NON-NLS-1$
-	public static final String APP_PROJECT_MAIN_PG_TITLE = "6"; //$NON-NLS-1$
-	public static final String APP_PROJECT_MAIN_PG_DESC = "7"; //$NON-NLS-1$
-	public static final String APP_PROJECT_MODULES_PG_TITLE = "8"; //$NON-NLS-1$
-	public static final String APP_PROJECT_MODULES_PG_DESC = "9"; //$NON-NLS-1$
-	public static final String APP_PROJECT_MODULES_PG_SELECT = "10"; //$NON-NLS-1$
-	public static final String APP_PROJECT_MODULES_PG_DESELECT = "11"; //$NON-NLS-1$
-	public static final String APP_PROJECT_MODULES_PG_NEW = "12"; //$NON-NLS-1$
-	public static final String EAR_PROJECT_FOR_MODULE_CREATION = "13"; //$NON-NLS-1$
-	public static final String NEW_THREE_DOTS_E = "14"; //$NON-NLS-1$
-	public static final String NEW_THREE_DOTS_W = "14a"; //$NON-NLS-1$
-	public static final String LINK_MODULETO_EAR_PROJECT = "15"; //$NON-NLS-1$
-	public static final String NEW_MOD_SEL_PG_TITLE = "16"; //$NON-NLS-1$
-	public static final String NEW_MOD_SEL_PG_DESC = "17"; //$NON-NLS-1$
-	public static final String NEW_MOD_WIZ_TITLE = "18"; //$NON-NLS-1$
-	public static final String NEW_MOD_SEL_PG_DEF_BTN = "19"; //$NON-NLS-1$
-	public static final String APP_CLIENT_PROJ_LBL = "20"; //$NON-NLS-1$
-	public static final String EJB_PROJ_LBL = "21"; //$NON-NLS-1$
-	public static final String WEB_PROJ_LBL = "22"; //$NON-NLS-1$
-	public static final String JCA_PROJ_LBL = "23"; //$NON-NLS-1$
-
-	public static final String APP_CLIENT_PROJECT_WIZ_TITLE = "24"; //$NON-NLS-1$
-	public static final String APP_CLIENT_VERSION_LBL = "3"; //$NON-NLS-1$
-	public static final String APP_CLIENT_PROJECT_MAIN_PG_TITLE = "25"; //$NON-NLS-1$
-	public static final String APP_CLIENT_SETTINGS = "101"; //$NON-NLS-1$
-
-	public static final String APP_CLIENT_PROJECT_MAIN_PG_DESC = "26"; //$NON-NLS-1$
-	public static final String MODULES_DEPENDENCY_PAGE_TITLE = "27"; //$NON-NLS-1$
-
-	public static final String MODULES_DEPENDENCY_PAGE_DESC = "28"; //$NON-NLS-1$
-	public static final String MODULES_DEPENDENCY_PAGE_AVAILABLE_JARS = "29"; //$NON-NLS-1$
-	public static final String MODULES_DEPENDENCY_PAGE_CLASSPATH = "30"; //$NON-NLS-1$
-	public static final String MODULES_DEPENDENCY_PAGE_TABLE_MODULE = "31"; //$NON-NLS-1$
-	public static final String MODULES_DEPENDENCY_PAGE_TABLE_PROJECT = "32"; //$NON-NLS-1$
-	public static final String NEW_LBL = "33"; //$NON-NLS-1$
-	public static final String APP_CLIENT_IMPORT_MAIN_PG_DESC = "34"; //$NON-NLS-1$
-	public static final String APP_CLIENT_IMPORT_MAIN_PG_TITLE = "35"; //$NON-NLS-1$
-	public static final String APP_CLIENT_IMPORT_FILE_LABEL = "36"; //$NON-NLS-1$
-
-	public static final String APP_CLIENT_IMPORT_PROJECT_LABEL = "37"; //$NON-NLS-1$
-
-	public static final String IMPORT_WIZ_TITLE = "38"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_MAIN_PG_DESC = "39"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_MAIN_PG_TITLE = "40"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_FILE_LABEL = "41"; //$NON-NLS-1$
-	public static final String OVERWRITE_RESOURCES = "42"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PROJECT_TYPE = "43"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PROJECT_TYPE_BINARY = "44"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PROJECT_TYPE_SOURCE = "45"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PARTIAL_DEVELOPMENT = "46"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_DESELECT_ALL_UTIL_BUTTON = "48"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_SELECT_ALL_UTIL_BUTTON = "47"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_JARS_GROUP = "49"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_SELECT_UTIL_JARS_TO_BE_PROJECTS = "50"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PROJECT_PG_DESC = "51"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PROJECT_PG_TITLE = "52"; //$NON-NLS-1$
-	public static final String PROJECT_LOCATIONS_GROUP = "53"; //$NON-NLS-1$
-	public static final String NEW_PROJECT_GROUP_DESCRIPTION = "54"; //$NON-NLS-1$
-	public static final String USE_DEFAULT_ROOT_RADIO = "55"; //$NON-NLS-1$
-	public static final String USE_ALTERNATE_ROOT_RADIO = "56"; //$NON-NLS-1$
-	public static final String SELECT_DIRECTORY_DLG = "57"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_Modules_in_EAR = "58"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_New_Project_Name = "59"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_FILENAMES = "60"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PROJECTNAMES = "61"; //$NON-NLS-1$
-	public static final String J2EE_EXPORT_DESTINATION = "62"; //$NON-NLS-1$
-	public static final String J2EE_EXPORT_OVERWRITE_CHECKBOX = "63"; //$NON-NLS-1$
-	public static final String J2EE_EXPORT_SOURCE_CHECKBOX = "64"; //$NON-NLS-1$
-	public static final String APP_CLIENT_EXPORT_MAIN_PG_TITLE = "65"; //$NON-NLS-1$
-	public static final String APP_CLIENT_EXPORT_MAIN_PG_DESC = "66"; //$NON-NLS-1$
-	public static final String EXPORT_WIZ_TITLE = "67"; //$NON-NLS-1$
-	public static final String EAR_EXPORT_MAIN_PG_TITLE = "68"; //$NON-NLS-1$
-	public static final String EAR_EXPORT_MAIN_PG_DESC = "69"; //$NON-NLS-1$
-	public static final String EAR_EXPORT_INCLUDE_PROJECT_FILES = "70"; //$NON-NLS-1$
-	public static final String EAR_EXPORT_INCLUDE_PROJECT_FILES_DESC = "71"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_INCLUDE_PROJECT = "72"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_OVERWRITE_NESTED = "74"; //$NON-NLS-1$
-	public static final String DELETE_PROJECT = "75"; //$NON-NLS-1$
-	public static final String EAR_IMPORT_PROJECT_LABEL = "76"; //$NON-NLS-1$
-
-	//string for migration
-	public static final String ERROR_OCCURRED_TITLE = "77"; //$NON-NLS-1$
-	public static final String ERROR_OCCURRED_MESSAGE = "78"; //$NON-NLS-1$
-	public static final String BINARY_PROJECT = "79"; //$NON-NLS-1$
-	public static final String ACTION_CANNOT_BE_PERFORMED_ON_BIN_PROJECT = "80"; //$NON-NLS-1$
-	public static final String INFORMATION_UI_ = "81"; //$NON-NLS-1$
-	public static final String CHOSEN_OP_NOT_AVAILABLE = "82"; //$NON-NLS-1$
-
-	public static final String CREATE_EJB_CLIENT_JAR = "90"; //$NON-NLS-1$
-	public static final String USE_ANNOTATIONS = "91"; //$NON-NLS-1$
-	public static final String USE_ANNOTATIONS_SERVLET = "98"; //$NON-NLS-1$
-	public static final String ADD_ANNOTATIONS_SUPPORT = "92"; //$NON-NLS-1$
-	public static final String BROWSE_LABEL = "93"; //$NON-NLS-1$
-	public static final String NAME_LABEL = "94"; //$NON-NLS-1$
-
-	public static final String APP_CLIENT_CREATE_MAIN = "95"; //$NON-NLS-1$
-	public static final String CREATE_DEFAULT_SESSION_BEAN = "96"; //$NON-NLS-1$
-	
-	public static final String MODULE_NAME = "99"; //$NON-NLS-1$
-	public static final String MODULE_VERSION_LABEL = "100"; //$NON-NLS-1$
-
-	public static final String J2EE_UTILITY_JAR_LISTEAR_IMPORT_SELECT_UTIL_JARS_TO_BE_PROJECTS = "97"; //$NON-NLS-1$
-	
-	public static final String J2EE_EXPORT_RUNTIME = "103"; //$NON-NLS-1$
-
-	public static final String FLEXIBLE_PROJECT_WIZ_TITLE = "FlexibleProjectCreationWizard.title"; //$NON-NLS-1$
-	public static final String FLEXIBLE_PROJECT_MAIN_PG_TITLE = "FlexibleProjectCreationWizard.mainPage.title"; //$NON-NLS-1$
-	public static final String FLEXIBLE_PROJECT_MAIN_PG_DESC = "FlexibleProjectCreationWizard.mainPage.desc"; //$NON-NLS-1$
-	public static final String EAR_COMPONENT_WIZ_TITLE = "EARComponentCreationWizard.title"; //$NON-NLS-1$
-	public static final String EAR_COMPONENT_MAIN_PG_TITLE = "EARComponentCreationWizard.mainPage.title"; //$NON-NLS-1$
-	public static final String EAR_COMPONENT_MAIN_PG_DESC = "EARComponentCreationWizard.mainPage.desc"; //$NON-NLS-1$
-	public static final String EAR_COMPONENT_SECOND_PG_TITLE = "EARComponentCreationWizard.secondPage.title"; //$NON-NLS-1$
-	public static final String EAR_COMPONENT_SECOND_PG_DESC = "EARComponentCreationWizard.secondPage.desc"; //$NON-NLS-1$
-	public static final String J2EE_MODULE_DEPENDENCIES_LABEL = "J2EEModuleDependencies.label"; //$NON-NLS-1$
-	public static final String APPCLIENT_COMPONENT_WIZ_TITLE = "AppClientComponentCreationWizard.title"; //$NON-NLS-1$
-	public static final String APPCLIENT_COMPONENT_MAIN_PG_TITLE = "AppClientComponentCreationWizard.mainPage.title"; //$NON-NLS-1$
-	public static final String APPCLIENT_COMPONENT_MAIN_PG_DESC = "AppClientComponentCreationWizard.mainPage.desc"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_WIZ_TITLE = "DefaultJ2EEComponentCreationWizard.title"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_PAGE_TITLE = "DefaultJ2EEComponentCreationWizard.page.title"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_PAGE_DESC = "DefaultJ2EEComponentCreationWizard.page.desc"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_PAGE_EJB_MODULE_LBL = "DefaultJ2EEComponentCreationWizard.page.label.ejb"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_PAGE_WEB_MODULE_LBL = "DefaultJ2EEComponentCreationWizard.page.label.web"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_PAGE_JCA_MODULE_LBL = "DefaultJ2EEComponentCreationWizard.page.label.jca"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_PAGE_APPCLIENT_MODULE_LBL = "DefaultJ2EEComponentCreationWizard.page.label.appclient"; //$NON-NLS-1$
-	public static final String DEFAULT_COMPONENT_PAGE_NEW_MOD_SEL_PG_DEF_BTN = "DefaultJ2EEComponentCreationWizard.page.button.select"; //$NON-NLS-1$
-	
-	public final static String EMPTY_STRING = ""; //$NON-NLS-1$
-	public final static String FOLDER_LABEL = getResourceString("FOLDER_LABEL"); //$NON-NLS-1$
-	public final static String BROWSE_BUTTON_LABEL = getResourceString("BROWSE_BUTTON_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_PACKAGE_LABEL = getResourceString("JAVA_PACKAGE_LABEL"); //$NON-NLS-1$
-	public final static String CLASS_NAME_LABEL = getResourceString("CLASS_NAME_LABEL"); //$NON-NLS-1$
-	public final static String SUPERCLASS_LABEL = getResourceString("SUPERCLASS_LABEL"); //$NON-NLS-1$
-	public final static String CONTAINER_SELECTION_DIALOG_TITLE = getResourceString("CONTAINER_SELECTION_DIALOG_TITLE"); //$NON-NLS-1$
-	public final static String CONTAINER_SELECTION_DIALOG_DESC = getResourceString("CONTAINER_SELECTION_DIALOG_DESC"); //$NON-NLS-1$
-	public final static String CONTAINER_SELECTION_DIALOG_VALIDATOR_MESG = getResourceString("CONTAINER_SELECTION_DIALOG_VALIDATOR_MESG"); //$NON-NLS-1$
-	public final static String PACKAGE_SELECTION_DIALOG_TITLE = getResourceString("PACKAGE_SELECTION_DIALOG_TITLE"); //$NON-NLS-1$
-	public final static String PACKAGE_SELECTION_DIALOG_DESC = getResourceString("PACKAGE_SELECTION_DIALOG_DESC"); //$NON-NLS-1$
-	public final static String PACKAGE_SELECTION_DIALOG_MSG_NONE = getResourceString("PACKAGE_SELECTION_DIALOG_MSG_NONE"); //$NON-NLS-1$
-	public final static String SUPERCLASS_SELECTION_DIALOG_TITLE = getResourceString("SUPERCLASS_SELECTION_DIALOG_TITLE"); //$NON-NLS-1$
-	public final static String SUPERCLASS_SELECTION_DIALOG_DESC = getResourceString("SUPERCLASS_SELECTION_DIALOG_DESC"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_MODIFIERS_LABEL = getResourceString("JAVA_CLASS_MODIFIERS_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_INTERFACES_LABEL = getResourceString("JAVA_CLASS_INTERFACES_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_METHOD_STUBS_LABEL = getResourceString("JAVA_CLASS_METHOD_STUBS_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_PUBLIC_CHECKBOX_LABEL = getResourceString("JAVA_CLASS_PUBLIC_CHECKBOX_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_ABSTRACT_CHECKBOX_LABEL = getResourceString("JAVA_CLASS_ABSTRACT_CHECKBOX_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_FINAL_CHECKBOX_LABEL = getResourceString("JAVA_CLASS_FINAL_CHECKBOX_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_CONSTRUCTOR_CHECKBOX_LABEL = getResourceString("JAVA_CLASS_CONSTRUCTOR_CHECKBOX_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_MAIN_CHECKBOX_LABEL = getResourceString("JAVA_CLASS_MAIN_CHECKBOX_LABEL"); //$NON-NLS-1$
-	public final static String JAVA_CLASS_INHERIT_CHECKBOX_LABEL = getResourceString("JAVA_CLASS_INHERIT_CHECKBOX_LABEL"); //$NON-NLS-1$
-	public final static String ADD_BUTTON_LABEL = getResourceString("ADD_BUTTON_LABEL"); //$NON-NLS-1$
-	public static final String REMOVE_BUTTON = getResourceString("REMOVE_BUTTON"); //$NON-NLS-1$
-	public static final String YES_BUTTON = getResourceString("YES_BUTTON"); //$NON-NLS-1$
-	public static final String NO_BUTTON = getResourceString("NO_BUTTON"); //$NON-NLS-1$
-	public static final String OK_BUTTON = getResourceString("OK_BUTTON"); //$NON-NLS-1$
-	public static final String CANCEL_BUTTON = getResourceString("CANCEL_BUTTON"); //$NON-NLS-1$
-	public static final String BINARY = getResourceString("BINARY"); //$NON-NLS-1$
-	public final static String INTERFACE_SELECTION_DIALOG_TITLE = getResourceString("INTERFACE_SELECTION_DIALOG_TITLE"); //$NON-NLS-1$
-
-	public static final String JAVAUTIL_COMPONENT_WIZ_TITLE="JAVAUTIL_COMPONENT_WIZ_TITLE"; //$NON-NLS-1$
-	public static final String JAVAUTILITY_MAIN_PG_TITLE = "JAVAUTILITY_MAIN_PG_TITLE";//$NON-NLS-1$
-	public final static String JAVAUTILITY_MAIN_PG_DESC = "JAVAUTILITY_MAIN_PG_DESC";//$NON-NLS-1$
-	public static final String AVAILABLE_J2EE_COMPONENTS="AVAILABLE_J2EE_COMPONENTS"; //$NON-NLS-1$
-	public static final String EXTERNAL_JAR="EXTERNAL_JAR";//$NON-NLS-1$
-	public static final String PROJECT_JAR="PROJECT_JAR";//$NON-NLS-1$
-	public static final String ADDVARIABLE="ADDVARIABLE";//$NON-NLS-1$
-	public static final String CHANGE_LIB_DIR ="CHANGE_LIB_DIR";//$NON-NLS-1$
-	public static final String NO_DD_MSG_TITLE = "NO_DD_MSG_TITLE";//$NON-NLS-1$
-	public static final String GEN_DD_QUESTION = "GEN_DD_QUESTION";//$NON-NLS-1$
-
-	public static final String CHANGE_LIB_DIR_HEAD = "CHANGE_LIB_DIR_HEAD";//$NON-NLS-1$
-	public static final String NEW_LIB_DIR_PROPMPT = "NEW_LIB_DIR_PROPMPT";//$NON-NLS-1$
-	public static final String BLANK_LIB_DIR = "BLANK_LIB_DIR";//$NON-NLS-1$
-	public static final String BLANK_LIB_DIR_CONFIRM = "BLANK_LIB_DIR_CONFIRM";//$NON-NLS-1$
-	public static final String BLANK_LIB_DIR_WARN_QUESTION = "BLANK_LIB_DIR_WARN_QUESTION";//$NON-NLS-1$	
-	public static final String INVALID_PATH = "INVALID_PATH";//$NON-NLS-1$
-	public static final String INVALID_PATH_MSG = "INVALID_PATH_MSG";//$NON-NLS-1$
-	public static final String DEPENDENCY_CONFLICT_TITLE = "DEPENDENCY_CONFLICT_TITLE";//$NON-NLS-1$
-	public static final String DEPENDENCY_CONFLICT_MSG_1 = "DEPENDENCY_CONFLICT_MSG_1";//$NON-NLS-1$
-	public static final String DEPENDENCY_CONFLICT_MSG_2 = "DEPENDENCY_CONFLICT_MSG_2";//$NON-NLS-1$	
-	public static final String DO_NOT_SHOW_WARNING_AGAIN = "DO_NOT_SHOW_WARNING_AGAIN";//$NON-NLS-1$
-	
-	public static final String SUPPORTMULTIPLEMODULES="SUPPORTMULTIPLEMODULES";//$NON-NLS-1$
-	public static final String SOURCEFOLDER="SOURCEFOLDER";//$NON-NLS-1$
-	public static final String CONTENT_FOLDER = "102"; //$NON-NLS-1$
-
-	/**
-	 * Returns the string from the resource bundle, or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		return INSTANCE.doGetResourceString(key);
-	}
-
-	public static String getResourceString(String key, Object[] args) {
-		return INSTANCE.doGetResourceString(key, args);
-	}
-
-	private J2EEUIMessages() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.Messages#initializeBundle()
-	 */
-	protected void initializeBundle() {
-		try {
-			resourceBundle = ResourceBundle.getBundle("j2ee_ui"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			//Ignore
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPlugin.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPlugin.java
deleted file mode 100644
index 1531249..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPlugin.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.plugin;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashSet;
-
-import org.eclipse.core.internal.boot.PlatformURLConnection;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.internal.wizard.ImportUtil;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class J2EEUIPlugin extends AbstractUIPlugin {
-
-	public static final String PLUGIN_ID = "org.eclipse.jst.j2ee.ui"; //$NON-NLS-1$
-
-	//The shared instance.
-	private static J2EEUIPlugin plugin;
-	private static IPath location;
-
-	/**
-	 * The constructor.
-	 */
-	public J2EEUIPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static J2EEUIPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	public static IPath getInstallLocation() {
-		if (location == null) {
-			URL url = getInstallURL();
-			try {
-				String installLocation = ((PlatformURLConnection) url.openConnection()).getURLAsLocal().getFile();
-				location = new Path(installLocation);
-			} catch (IOException e) {
-				org.eclipse.jem.util.logger.proxy.Logger.getLogger().logWarning(J2EEPluginResourceHandler.getString("Install_Location_Error_", new Object[]{url}) + e); //$NON-NLS-1$
-			}
-		}
-		return location;
-	}
-
-	public static URL getInstallURL() {
-		return getDefault().getBundle().getEntry("/"); //$NON-NLS-1$
-	}
-
-	public static String getArchiveDefaultProjectName(Archive anArchive) {
-		if (anArchive == null)
-			return null;
-		int type = getArchiveType(anArchive);
-		return getTypeDefaultProjectName(anArchive.getURI(), type);
-	}
-
-	public static String getArchiveDefaultUtilProjectName(Archive anArchive) {
-		if (anArchive == null)
-			return null;
-		int type = getArchiveType(anArchive);
-		return getTypeDefaultUtilProjectName(anArchive.getName(), type);
-	}
-
-	public static String getArchiveDefaultProjectName(Archive anArchive, HashSet moduleNames) {
-		if (anArchive == null)
-			return null;
-		int type = getArchiveType(anArchive);
-		return getTypeDefaultProjectName(anArchive.getURI(), type, moduleNames);
-	}
-
-	public static int getArchiveType(Archive anArchive) {
-		int type = ImportUtil.UNKNOWN;
-		try {
-			try {
-				if (anArchive.isEJBJarFile())
-					type = ImportUtil.EJBJARFILE;
-				else if (anArchive.isWARFile())
-					type = ImportUtil.WARFILE;
-				else if (anArchive.isApplicationClientFile())
-					type = ImportUtil.CLIENTJARFILE;
-				else if (anArchive.isRARFile())
-					type = ImportUtil.RARFILE;
-				else if (anArchive.isEARFile())
-					type = ImportUtil.EARFILE;
-			} catch (Exception e) {
-				//Ignore
-			}
-		} finally {
-			if (anArchive != null)
-				anArchive.close();
-		}
-		return type;
-	}
-
-	public static String getTypeDefaultProjectName(String text, int type) {
-		IPath path = new Path(text);
-		text = path.makeRelative().removeFileExtension().lastSegment();
-
-		boolean exists = false;
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(text);
-		if (project != null && project.exists())
-			exists = true;
-		if (exists && text.toLowerCase().indexOf(ImportUtil.SUFFIXES[type].toLowerCase()) == -1)
-			text = text + ImportUtil.SUFFIXES[type];
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (int j = 1; j < 10; j++) {
-			boolean found = false;
-			String iteratedProjectName = text + ((j == 1) ? "" : Integer.toString(j)); //$NON-NLS-1$
-			for (int i = 0; !found && (i < projects.length); i++) {
-				if ((projects[i]).getName().equalsIgnoreCase(iteratedProjectName)) {
-					found = true;
-				}
-			}
-			if (!found)
-				return iteratedProjectName;
-		}
-		return text;
-	}
-
-	private static String getTypeDefaultProjectName(String text, int type, HashSet moduleNames) {
-		IPath path = new Path(text);
-		text = path.makeRelative().removeFileExtension().lastSegment();
-
-		boolean isValidName = moduleNames.add(text);
-		boolean exists = false;
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(text);
-		if (project != null && project.exists())
-			exists = true;
-		if (!isValidName || (exists && text.toLowerCase().indexOf(ImportUtil.SUFFIXES[type].toLowerCase()) == -1))
-			text = text + ImportUtil.SUFFIXES[type];
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (int j = 1; j < 10; j++) {
-			boolean found = false;
-			String iteratedProjectName = text + ((j == 1) ? "" : Integer.toString(j)); //$NON-NLS-1$
-			for (int i = 0; !found && (i < projects.length); i++) {
-				if ((projects[i]).getName().equalsIgnoreCase(iteratedProjectName)) {
-					found = true;
-				}
-			}
-			if (!found)
-				return iteratedProjectName;
-		}
-		return text;
-	}
-
-	// the following two methods are used by web editor
-
-	private static String getTypeDefaultUtilProjectName(String text, int type) {
-		text = text.substring(text.lastIndexOf(java.io.File.separator) + 1);
-		int i = text.lastIndexOf('.');
-		if (i > 0)
-			text = text.substring(0, i);
-		if (text.toLowerCase().indexOf(ImportUtil.SUFFIXES[type].toLowerCase()) == -1)
-			text = text + ImportUtil.SUFFIXES[type];
-		IProject[] projects = getWorkspace().getRoot().getProjects();
-		for (int j = 0; j < 10; j++) {
-			boolean found = false;
-			String iteratedProjectName = text + ((j == 0) ? "" : Integer.toString(j)); //$NON-NLS-1$
-			for (i = 0; !found && (i < projects.length); i++) {
-				if ((projects[i]).getName().equalsIgnoreCase(iteratedProjectName)) {
-					found = true;
-				}
-			}
-			if (!found)
-				return iteratedProjectName;
-		}
-		return text;
-	}
-
-	/**
-	 * Get a .gif from the image registry.
-	 */
-	public Image getImage(String key) {
-		ImageRegistry imageRegistry = getImageRegistry();
-		Image image = imageRegistry.get(key);
-		if (image == null || image.isDisposed()) {
-			ImageDescriptor descriptor = getImageDescriptor(key);
-			if (descriptor != null) {
-				image = descriptor.createImage();
-				imageRegistry.put(key, image);
-			}
-		}
-		return image;
-	}
-
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	public ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor imageDescriptor = null;
-		URL gifImageURL = getImageURL(key);
-		if (gifImageURL != null)
-			imageDescriptor = ImageDescriptor.createFromURL(gifImageURL);
-		return imageDescriptor;
-	}
-
-	/**
-	 * @param key
-	 * @return
-	 */
-	private URL getImageURL(String key) {
-		return J2EEPlugin.getImageURL(key, getBundle());
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getPluginWorkbench().getActiveWorkbenchWindow();
-	}
-
-	/**
-	 * Return the workbench
-	 * 
-	 * This method is internal to the j2ee plugin and must not be called by any other plugins.
-	 */
-
-	public static IWorkbench getPluginWorkbench() {
-		return getDefault().getWorkbench();
-	}
-	
-	public static Shell getActiveWorkbenchShell() {
-		 IWorkbenchWindow window = getActiveWorkbenchWindow();
-		 if (window != null) {
-		 	return window.getShell();
-		 }
-		 return null;
-	}
-
-	public static IStructuredSelection getCurrentSelection() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		if (window != null) {
-			ISelection selection = window.getSelectionService().getSelection();
-			if (selection instanceof IStructuredSelection) {
-				return (IStructuredSelection) selection;
-			}
-
-		}
-		return null;
-	}
-
-	
-	/**
-	 * Record an error against this plugin's log. 
-	 * 
-	 * @param aCode
-	 * @param aMessage
-	 * @param anException
-	 */
-	public static void logError(int aCode, String aMessage,
-			Throwable anException) {
-		getDefault().getLog().log(
-				createErrorStatus(aCode, aMessage, anException));
-	}
-
-	/**
-	 * 
-	 * Record a message against this plugin's log. 
-	 * 
-	 * @param severity
-	 * @param aCode
-	 * @param aMessage
-	 * @param exception
-	 */
-	public static void log(int severity, int aCode, String aMessage,
-			Throwable exception) {
-		log(createStatus(severity, aCode, aMessage, exception));
-	}
-
-	/**
-	 * 
-	 * Record a status against this plugin's log. 
-	 * 
-	 * @param aStatus
-	 */
-	public static void log(IStatus aStatus) {
-		getDefault().getLog().log(aStatus);
-	}
-
-	/**
-	 * Create a status associated with this plugin.
-	 *  
-	 * @param severity
-	 * @param aCode
-	 * @param aMessage
-	 * @param exception
-	 * @return A status configured with this plugin's id and the given parameters.
-	 */
-	public static IStatus createStatus(int severity, int aCode,
-			String aMessage, Throwable exception) {
-		return new Status(severity, PLUGIN_ID, aCode,
-				aMessage != null ? aMessage : "No message.", exception); //$NON-NLS-1$
-	}
-
-	/**
-	 * 
-	 * @param aCode
-	 * @param aMessage
-	 * @param exception
-	 * @return A status configured with this plugin's id and the given parameters.
-	 */
-	public static IStatus createErrorStatus(int aCode, String aMessage,
-			Throwable exception) {
-		return createStatus(IStatus.ERROR, aCode, aMessage, exception);
-	}
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPluginIcons.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPluginIcons.java
deleted file mode 100644
index 6740842..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEUIPluginIcons.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 10, 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.jst.j2ee.internal.plugin;
-
-/**
- * @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 J2EEUIPluginIcons {
-
-	public static String EAR_IMPORT_WIZARD_BANNER = "import_ear_wiz"; //$NON-NLS-1$
-	public static final String JCA_IMPORT_WIZARD_BANNER = "import_rar_wiz"; //$NON-NLS-1$
-	public static final String EJB_IMPORT_WIZARD_BANNER = "import_ejbjar_wiz"; //$NON-NLS-1$
-	public static final String APP_CLIENT_IMPORT_WIZARD_BANNER = "import_appclient_wiz"; //$NON-NLS-1$
-	public static final String WEB_IMPORT_WIZARD_BANNER = "import_war_wiz"; //$NON-NLS-1$
-	public static final String EAR_WIZ_BANNER = "ear_wiz"; //$NON-NLS-1$
-	public static final String APP_CLIENT_PROJECT_WIZARD_BANNER = "appclient_wiz"; //$NON-NLS-1$
-	//EJB Icons
-	public static final String EJB_PROJECT_WIZARD_BANNER = "ejbproject_wiz"; //$NON-NLS-1$
-	//WEB Icons
-	public static final String WEB_PROJECT_WIZARD_BANNER = "war_wiz"; //$NON-NLS-1$
-	//JCA Icons
-	public static final String JCA_PROJECT_WIZARD_BANNER = "connector_wiz"; //$NON-NLS-1$
-	public static final String APP_CLIENT_EXPORT_WIZARD_BANNER = "export_appclient_wiz"; //$NON-NLS-1$
-	public static final String EJB_EXPORT_WIZARD_BANNER = "export_ejbjar_obj"; //$NON-NLS-1$;
-	public static final String WEB_EXPORT_WIZARD_BANNER = "export_war_wiz"; //$NON-NLS-1$;
-	public static final String JCA_EXPORT_WIZARD_BANNER = "export_rar_wiz"; //$NON-NLS-1$;
-	public static final String EAR_EXPORT_WIZARD_BANNER = "export_ear_wiz"; //$NON-NLS-1$;
-
-	//Migration Wizard Icons
-
-	public static final String WARNING_TASK = "showwarn_tsk"; //$NON-NLS-1$
-
-	public static final String CLIENT_BANNER = "ejbclientjar_wizban"; //$NON-NLS-1$
-
-	public static final String MIGRATION_WIZARD_BANNER = "versionmigrate3_wiz"; //$NON-NLS-1$
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEViewerSorter.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEViewerSorter.java
deleted file mode 100644
index 27dcf80..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/J2EEViewerSorter.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.plugin;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jst.j2ee.common.internal.util.CommonUtil;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-
-public class J2EEViewerSorter extends ViewerSorter {
-
-	/**
-	 * Constructor for J2EEViewerSorter.
-	 */
-	public J2EEViewerSorter() {
-		super();
-	}
-
-
-
-	/**
-	 * @see ViewerSorter#compare(Viewer, Object, Object)
-	 */
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		if (shouldSort(e1, e2))
-			return super.compare(viewer, e1, e2);
-		return 0;
-	}
-
-	protected boolean isEnterpriseBean(Object o) {
-		return o instanceof EnterpriseBean;
-	}
-
-	protected boolean isDeploymentDescriptorRoot(Object o) {
-		return CommonUtil.isDeploymentDescriptorRoot(o);
-	}
-
-	protected boolean shouldSort(Object e1, Object e2) {
-		return (isDeploymentDescriptorRoot(e1) && isDeploymentDescriptorRoot(e2)) || (isEnterpriseBean(e1) && isEnterpriseBean(e2)) || ((e1 instanceof IFile) && (e2 instanceof IFile));
-	}
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/UIProjectUtilities.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/UIProjectUtilities.java
deleted file mode 100644
index deb4f97..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/plugin/UIProjectUtilities.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on 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.j2ee.internal.plugin;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.provider.ItemProvider;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-/**
- * Utility class for retrieving the project from the specified selection
- */
-public class UIProjectUtilities {
-
-	/**
-	 * @param selection
-	 *            The current selection
-	 * @return The first project (regardless of nature) in the selection
-	 */
-	public static IProject getSelectedProject(IStructuredSelection selection) {
-		return getSelectedProject(selection, (String[]) null);
-	}
-
-	/**
-	 * @param selection
-	 *            The current selection
-	 * @param expectedNatureId
-	 *            The required Nature ID
-	 * @return The first project, only if the first project has the given nature
-	 */
-	public static IProject getSelectedProject(IStructuredSelection selection, String expectedNatureId) {
-		return getSelectedProject(selection, new String[] {expectedNatureId});
-	}
-
-	/**
-	 * 
-	 * @param selection
-	 *            The current selection
-	 * @param possibleNatureIds
-	 *            A list of possible nature ids
-	 * @return The first project selected, only if it has AT LEAST ONE of the possible nature ids
-	 */
-	public static IProject getSelectedProject(IStructuredSelection selection, String[] possibleNatureIds) {
-		IProject[] projects = getAllSelectedProjects(selection, possibleNatureIds);
-		if (projects == null || projects.length==0)
-			return null;
-		return projects[0];
-	}
-
-	/**
-	 * 
-	 * @param selection
-	 *            The current selection
-	 * @return All selected Projects, regardless of nature
-	 */
-	public static IProject[] getAllSelectedProjects(IStructuredSelection selection) {
-		return getAllSelectedProjects(selection, (String[]) null);
-	}
-
-	/**
-	 * 
-	 * @param selection
-	 *            The current selection
-	 * @param expectedNatureId
-	 *            The expected nature id
-	 * @return All selected Projects which have the expected nature id
-	 */
-	public static IProject[] getAllSelectedProjects(IStructuredSelection selection, String expectedNatureId) {
-		return getAllSelectedProjects(selection, new String[] {expectedNatureId});
-	}
-
-	/**
-	 * 
-	 * @param selection
-	 *            The current selection
-	 * @param possibleNatureIds
-	 *            a list of possible nature ids
-	 * @return All selected Projects which have AT LEAST ONE of the given nature ids
-	 */
-	public static IProject[] getAllSelectedProjects(IStructuredSelection selection, String[] possibleNatureIds) {
-		if (selection != null && !selection.isEmpty()) {
-			Object obj = null;
-			List projects = new ArrayList();
-			Iterator selectionIterator = selection.iterator();
-			while (selectionIterator.hasNext()) {
-				obj = selectionIterator.next();
-				IProject project = null;
-				if (obj instanceof IProject)
-					project = (IProject) obj;
-				else if (obj instanceof IAdaptable) {
-					project = (IProject) ((IAdaptable) obj).getAdapter(IProject.class);
-					if (project == null) {
-						//Check for IJavaElements.
-						IJavaElement javaElement = (IJavaElement) ((IAdaptable) obj).getAdapter(IJavaElement.class);
-						if (javaElement != null) {
-							project = javaElement.getJavaProject().getProject();
-						}
-					}
-				}
-				// Selection may not be adaptable to a project so continue trying to get selected project
-				if (project == null && obj instanceof EObject)
-					project = ProjectUtilities.getProject((EObject) obj);
-				else if (project == null && obj instanceof ItemProvider) {
-					Object temp = ((ItemProvider) obj).getParent(EObject.class);
-					if (temp != null && temp instanceof EObject)
-						project = ProjectUtilities.getProject((EObject) temp);
-				}
-				else if (project == null && obj instanceof IFile) 
-					project = ProjectUtilities.getProject(obj);
-
-				if (project != null && possibleNatureIds != null && possibleNatureIds.length > 0) {
-					try {
-						for (int i = 0; i < possibleNatureIds.length; i++)
-							if (project.hasNature(possibleNatureIds[i]))
-								projects.add(project);
-					} catch (CoreException e) {
-						//Ignore
-					}
-				} 
-				
-				else
-					projects.add(project);
-			}
-			IProject[] finalProjects = new IProject[projects.size()];
-			projects.toArray(finalProjects);
-			return finalProjects;
-		}
-		return new IProject[0];
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryContentProvider.java
deleted file mode 100644
index f71fc30..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryContentProvider.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.ejb.provider.GroupedEJBJarItemProvider;
-
-
-public class J2EEAdapterFactoryContentProvider extends AdapterFactoryContentProvider {
-	protected MethodsProviderDelegate methodsProviderDelegate;
-	protected static final Class ITreeItemContentProviderClass = ITreeItemContentProvider.class;
-	protected List roots = new ArrayList();
-
-	/**
-	 * J2EEAdapterFactoryContentProvider constructor comment.
-	 * 
-	 * @param adapterFactory
-	 *            org.eclipse.emf.common.notify.AdapterFactory
-	 */
-	public J2EEAdapterFactoryContentProvider(org.eclipse.emf.common.notify.AdapterFactory adapterFactory) {
-		super(adapterFactory);
-		methodsProviderDelegate = new MethodsProviderDelegate(adapterFactory);
-	}
-
-	public Object getParent(Object object) {
-
-		if (MethodsProviderDelegate.providesContentFor(object))
-			return methodsProviderDelegate.getParent(object);
-
-		//Added so internalExpand() in AbstractTreeViewer knows that EJB's parent is now instance
-		// of J2EEItemProvider
-		//rather than EJBJar only if bean is root bean
-		if (object instanceof EnterpriseBean && GroupedEJBJarItemProvider.isRootBean((EnterpriseBean) object)) {
-			J2EEItemProvider provider = GroupedEJBJarItemProvider.getEJBItemProvider((EnterpriseBean) object);
-			if (provider != null) {
-				return provider;
-			}
-		}
-
-		Object parent = super.getParent(object);
-
-		//		if (parent == null) {
-		//			if (object instanceof EObject)
-		//				return J2EERoot.instance().groupFor((EObject) object);
-		//		}
-		return parent;
-	}
-
-	protected boolean isEMFEditObject(Object object) {
-		ITreeItemContentProvider treeItemContentProvider = (ITreeItemContentProvider) adapterFactory.adapt(object, ITreeItemContentProviderClass);
-		return treeItemContentProvider != null;
-	}
-
-	/*
-	 * @see ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-
-		if (MethodsProviderDelegate.providesContentFor(parentElement))
-			return methodsProviderDelegate.getChildren(parentElement);
-		else if (isEMFEditObject(parentElement))
-			return super.getChildren(parentElement);
-		else
-			return null;
-	}
-
-	/*
-	 * @see IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		return getRoots(inputElement);
-		//		else if (MethodsProviderDelegate.providesContentFor(inputElement))
-		//			return methodsProviderDelegate.getChildren(inputElement);
-		//		return super.getElements(inputElement);
-	}
-
-	public Object[] getRoots(Object parent) {
-		if (roots.isEmpty()) {
-			Object[] j2eeGroups = super.getChildren(parent);
-			roots.addAll(Arrays.asList(j2eeGroups));
-		}
-		return roots.toArray();
-	}
-
-	/*
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (MethodsProviderDelegate.providesContentFor(element))
-			return methodsProviderDelegate.hasChildren(element);
-		else if (isEMFEditObject(element))
-			return super.hasChildren(element);
-		else
-			return false;
-	}
-
-	/**
-	 * @see IContentProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (methodsProviderDelegate != null)
-			methodsProviderDelegate.dispose();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) {
-		super.inputChanged(aViewer, oldInput, newInput);
-		methodsProviderDelegate.inputChanged(aViewer, oldInput, newInput);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryLabelProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryLabelProvider.java
deleted file mode 100644
index 026758b..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEAdapterFactoryLabelProvider.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.j2ee.common.CommonPackage;
-import org.eclipse.jst.j2ee.common.internal.util.CommonUtil;
-import org.eclipse.jst.j2ee.ejb.internal.impl.EjbFactoryImpl;
-import org.eclipse.jst.j2ee.internal.ejb.provider.AbstractMethodsContentProvider;
-import org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * Insert the type's description here. Creation date: (6/20/2001 10:40:41 PM)
- * 
- * @author: Administrator
- */
-public class J2EEAdapterFactoryLabelProvider extends AdapterFactoryLabelProvider {
-	// //$NON-NLS-1$
-	protected static final Class IItemLabelProviderClass = IItemLabelProvider.class;
-	private static final EStructuralFeature ROLE_NAME_SF = CommonPackage.eINSTANCE.getSecurityRole_RoleName();
-	private static final EStructuralFeature ROLES_SF = EjbFactoryImpl.getPackage().getMethodPermission_Roles();
-
-
-	/**
-	 * This is used for delegation to get labels for server objects, which don't fit into EMF edit
-	 */
-	protected WorkbenchLabelProvider wbLabelProvider;
-
-	public J2EEAdapterFactoryLabelProvider(org.eclipse.emf.common.notify.AdapterFactory adapterFactory) {
-		super(adapterFactory);
-		wbLabelProvider = new WorkbenchLabelProvider();
-	}
-
-	public Image getImage(Object object) {
-		if (object instanceof J2EEJavaClassProviderHelper)
-			return ((J2EEJavaClassProviderHelper) object).getImage();
-		else if (isEMFEditObject(object))
-			return super.getImage(object);
-		else if (object instanceof AbstractMethodsContentProvider.EJBMethodItem)
-			return super.getImage(((AbstractMethodsContentProvider.EJBMethodItem) object).ejb);
-		else if (object instanceof File) {
-			URL url = (URL) J2EEPlugin.getPlugin().getImage("jar_obj"); //$NON-NLS-1$
-			return ImageDescriptor.createFromURL(url).createImage();
-		}
-		return wbLabelProvider.getImage(object);
-	}
-
-	public String getText(Object object) {
-
-		if (object instanceof J2EEJavaClassProviderHelper)
-			return ((J2EEJavaClassProviderHelper) object).getText();
-		else if (isEMFEditObject(object)) {
-			if (CommonUtil.isDeploymentDescriptorRoot(object))
-				return J2EEUIMessages.getResourceString("Deployment_Descriptor_UI_") + ": " + super.getText(object); //$NON-NLS-1$ //$NON-NLS-2$ 
-			return super.getText(object);
-		} else if (object instanceof AbstractMethodsContentProvider.EJBMethodItem)
-			return super.getText(((AbstractMethodsContentProvider.EJBMethodItem) object).ejb);
-		else if (object instanceof IFile) {
-			return ((IFile) object).getName();
-		} else if (object instanceof File) {
-			return ((File)object).getName();
-		}
-		return wbLabelProvider.getText(object);
-	}
-
-	protected boolean isEMFEditObject(Object object) {
-		IItemLabelProvider itemLabelProvider = (IItemLabelProvider) adapterFactory.adapt(object, IItemLabelProviderClass);
-		return itemLabelProvider != null;
-	}
-
-	/*
-	 * @see INotifyChangedListener#notifyChanged(new ENotificationImpl((InternalEObject)Object,
-	 *      int,(EStructuralFeature) Object, Object, Object, int))
-	 */
-	public void notifyChanged(Notification notification) {
-		Object feature = notification.getFeature();
-		if (feature == ROLE_NAME_SF || feature == ROLES_SF)
-			fireLabelProviderChanged();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProvider.java
deleted file mode 100644
index d37e208..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProvider.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.application.ApplicationPackage;
-import org.eclipse.jst.j2ee.application.internal.impl.ApplicationFactoryImpl;
-import org.eclipse.jst.j2ee.internal.application.provider.ApplicationItemProvider;
-import org.eclipse.jst.j2ee.internal.ejb.provider.J2EENotificationImpl;
-
-public class J2EEApplicationItemProvider extends ApplicationItemProvider implements IAdaptable {
-
-	protected static final Class IRESOURCE_CLASS = IResource.class;
-	protected static final Class IPROJECT_CLASS = IProject.class;
-
-	protected Map children = new HashMap();
-	protected List resourceAdapters = null;
-
-	/**
-	 * Constructor for J2EEApplicationItemProvider.
-	 * 
-	 * @param adapterFactory
-	 */
-	public J2EEApplicationItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getChildren(Object)
-	 */
-	public Collection getChildren(Object object) {
-		List localChildren = (List) children.get(object);
-		if (localChildren == null)
-			return initChildren(object);
-		return localChildren;
-	}
-
-	protected List initChildren(Object object) {
-		Application app = (Application) object;
-		List localChildren = new ArrayList(2);
-		// MDE: changed getParent(object) to just app
-		localChildren.add(new ModulesItemProvider(getAdapterFactory(), null, null, app));
-
-		// IProject project = ProjectUtilities.getProject(app);
-		// IVirtualComponent ear = ComponentUtilities.findComponent(app);
-		// TODO switch to retrieve referenceComponents
-		// EAREditModel editModel = null;
-		// try {
-		// EARNatureRuntime runtime = EARNatureRuntime.getRuntime(project);
-		// if (runtime != null) {
-		// editModel = runtime.getEarEditModelForRead(this);
-		// EARProjectMap map = editModel.getEARProjectMap();
-		// localChildren.add(map);
-		// map.eResource().eAdapters().add(getNewAdapter(app));
-		// }
-		// } finally {
-		// if (editModel != null)
-		// editModel.releaseAccess(this);
-		// }
-		localChildren.add(new J2EEUtilityJarItemProvider(app, getAdapterFactory(), this));
-
-		children.put(object, localChildren);
-		return localChildren;
-	}
-
-	protected ModulesItemProvider getModulesNode(Object object) {
-		return (ModulesItemProvider) ((List) getChildren(object)).get(0);
-	}
-
-
-	/**
-	 * @see Adapter#notifyChanged(new ENotificationImpl((InternalEObject)Notifier,
-	 *      int,(EStructuralFeature) EObject, Object, Object, int))
-	 * @deprecated
-	 */
-	public void notifyChanged(Notification notification) {
-		switch (notification.getFeatureID(Application.class)) {
-			case ApplicationPackage.APPLICATION__MODULES :
-				break;
-			default :
-				super.notifyChanged(notification);
-		}
-		if (notification.getEventType() == Notification.REMOVING_ADAPTER && notification.getOldValue() == this)
-			children.remove(notification.getNotifier());
-		else if (notification.getFeature() == ApplicationFactoryImpl.getPackage().getApplication_Modules())
-			modulesChanged((Application) notification.getNotifier(), notification.getEventType(), notification.getOldValue(), notification.getNewValue(), notification.getPosition());
-	}
-
-	protected void modulesChanged(Application app, int eventType, Object oldValue, Object newValue, int pos) {
-		ModulesItemProvider provider = getModulesNode(app);
-		Collection grandChildren = provider.getChildren();
-		switch (eventType) {
-			case Notification.ADD : {
-				grandChildren.add(newValue);
-				break;
-			}
-			case Notification.ADD_MANY : {
-				grandChildren.addAll((Collection) newValue);
-				break;
-			}
-			case Notification.REMOVE : {
-				grandChildren.remove(oldValue);
-				break;
-			}
-			case Notification.REMOVE_MANY : {
-				grandChildren.removeAll((Collection) oldValue);
-				break;
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		List adapters = getResourceAdapters();
-		ResourceAdapter adapter = null;
-		for (int i = 0; i < adapters.size(); i++) {
-			adapter = (ResourceAdapter) adapters.get(i);
-			adapter.getTarget().eAdapters().remove(adapter);
-		}
-	}
-
-	protected class ResourceAdapter extends AdapterImpl {
-
-		private Application app = null;
-
-		public ResourceAdapter(Application app) {
-			this.app = app;
-		}
-
-		public void notifyChanged(Notification notification) {
-
-			Resource res = (Resource) notification.getNotifier();
-			if (notification.getEventType() == Notification.SET && notification.getFeatureID(null) == Resource.RESOURCE__IS_LOADED && !res.isLoaded()) {
-				J2EEApplicationItemProvider.this.children.remove(app);
-				res.eAdapters().remove(ResourceAdapter.this);
-				fireNotifyChanged(new J2EENotificationImpl(app, Notification.MOVE, (Object) null, (Object) null, 0));
-
-			}
-		}
-	}
-
-	protected ResourceAdapter getNewAdapter(Application key) {
-		ResourceAdapter adapter = new ResourceAdapter(key);
-		getResourceAdapters().add(adapter);
-		return adapter;
-	}
-
-	/**
-	 * @return Returns the resourceAdapters.
-	 */
-	protected List getResourceAdapters() {
-		if (resourceAdapters == null)
-			resourceAdapters = new ArrayList();
-		return resourceAdapters;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProviderAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProviderAdapterFactory.java
deleted file mode 100644
index 0434b30..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEApplicationItemProviderAdapterFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jst.j2ee.internal.application.provider.ApplicationItemProviderAdapterFactory;
-
-
-public class J2EEApplicationItemProviderAdapterFactory extends ApplicationItemProviderAdapterFactory {
-
-	/**
-	 * Constructor for J2EEApplicationAdapterFactory.
-	 */
-	public J2EEApplicationItemProviderAdapterFactory() {
-		super();
-	}
-
-	/**
-	 * @see ApplicationAdapterFactory#createApplicationAdapter()
-	 */
-	public Adapter createApplicationAdapter() {
-		return new J2EEApplicationItemProvider(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEBinaryModulesItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEBinaryModulesItemProvider.java
deleted file mode 100644
index bf14b2d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEBinaryModulesItemProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-public class J2EEBinaryModulesItemProvider extends J2EEItemProvider {
-
-	public J2EEBinaryModulesItemProvider(Application app, AdapterFactory adapterFactory, Collection children) {
-		super(adapterFactory, children);
-	}
-
-	public String getText(Object obj) {
-		return J2EEUIMessages.BINARY;
-	}
-
-	public Object getImage(Object object) {
-		return J2EEPlugin.getPlugin().getImage("folder"); //$NON-NLS-1$
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEEditingDomain.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEEditingDomain.java
deleted file mode 100644
index ab07bd1..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEEditingDomain.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.CopyToClipboardCommand;
-import org.eclipse.emf.edit.command.CreateCopyCommand;
-import org.eclipse.emf.edit.command.DragAndDropCommand;
-import org.eclipse.emf.edit.command.InitializeCopyCommand;
-import org.eclipse.emf.edit.command.MoveCommand;
-import org.eclipse.emf.edit.command.OverrideableCommand;
-import org.eclipse.emf.edit.command.PasteFromClipboardCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
-import org.eclipse.emf.edit.command.ReplaceCommand;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-
-/**
- * Custom editing domain which provides hooks for creating override commands; should not be used
- * directly but can be subclassed to override commands as necessary. All the override methods by
- * default return null, so a subclass may override only a subset of the commands.
- */
-public class J2EEEditingDomain extends AdapterFactoryEditingDomain {
-	/**
-	 * J2EEEditingDomain constructor comment.
-	 * 
-	 * @param adapterFactory
-	 *            org.eclipse.emf.common.notify.AdapterFactory
-	 * @param commandStack
-	 *            CommandStack
-	 */
-	public J2EEEditingDomain(org.eclipse.emf.common.notify.AdapterFactory adapterFactory, CommandStack commandStack) {
-		super(adapterFactory, commandStack);
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createAddOverrideCommand(AddCommand addCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createCopyToClipboardOverrideCommand(CopyToClipboardCommand copyToClipboardCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createCreateCopyOverrideCommand(CreateCopyCommand createCopyCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createDragAndDropOverrideCommand(DragAndDropCommand dragAndDropCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createInitializeCopyOverrideCommand(InitializeCopyCommand initializeCopyCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createMoveOverrideCommand(MoveCommand moveCommand) {
-		return null;
-	}
-
-	public Command createOverrideCommand(OverrideableCommand command) {
-		if (command instanceof AddCommand) {
-			AddCommand addCommand = (AddCommand) command;
-			return createAddOverrideCommand(addCommand);
-		} else if (command instanceof RemoveCommand) {
-			RemoveCommand removeCommand = (RemoveCommand) command;
-			return createRemoveOverrideCommand(removeCommand);
-		} else if (command instanceof SetCommand) {
-			SetCommand setCommand = (SetCommand) command;
-			return createSetOverrideCommand(setCommand);
-		} else if (command instanceof ReplaceCommand) {
-			ReplaceCommand replaceCommand = (ReplaceCommand) command;
-			return createReplaceOverrideCommand(replaceCommand);
-		} else if (command instanceof MoveCommand) {
-			MoveCommand moveCommand = (MoveCommand) command;
-			return createMoveOverrideCommand(moveCommand);
-		} else if (command instanceof CreateCopyCommand) {
-			CreateCopyCommand createCopyCommand = (CreateCopyCommand) command;
-			return createCreateCopyOverrideCommand(createCopyCommand);
-		} else if (command instanceof InitializeCopyCommand) {
-			InitializeCopyCommand initializeCopyCommand = (InitializeCopyCommand) command;
-			return createInitializeCopyOverrideCommand(initializeCopyCommand);
-		} else if (command instanceof CopyToClipboardCommand) {
-			CopyToClipboardCommand copyToClipboardCommand = (CopyToClipboardCommand) command;
-			return createCopyToClipboardOverrideCommand(copyToClipboardCommand);
-		} else if (command instanceof PasteFromClipboardCommand) {
-			PasteFromClipboardCommand pasteFromClipboardCommand = (PasteFromClipboardCommand) command;
-			return createPasteFromClipboardOverrideCommand(pasteFromClipboardCommand);
-		} else if (command instanceof DragAndDropCommand) {
-			DragAndDropCommand dragAndDropCommand = (DragAndDropCommand) command;
-			return createDragAndDropOverrideCommand(dragAndDropCommand);
-		} else {
-			return null;
-		}
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createPasteFromClipboardOverrideCommand(PasteFromClipboardCommand pasteFromClipboardCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createRemoveOverrideCommand(RemoveCommand removeCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createReplaceOverrideCommand(ReplaceCommand replaceCommand) {
-		return null;
-	}
-
-	/**
-	 * The default is not to override this command; subclasses can override if necessary
-	 */
-	protected Command createSetOverrideCommand(SetCommand setCommand) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEModulemapItemProviderAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEModulemapItemProviderAdapterFactory.java
deleted file mode 100644
index 4d620b0..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEModulemapItemProviderAdapterFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import org.eclipse.emf.common.notify.Adapter;
-
-public class J2EEModulemapItemProviderAdapterFactory extends ModulemapItemProviderAdapterFactory {
-
-	/**
-	 * Constructor for J2EEModulemapItemProviderAdapterFactory.
-	 */
-	public J2EEModulemapItemProviderAdapterFactory() {
-		super();
-	}
-
-	/**
-	 * @see ModulemapAdapterFactory#createEARProjectMapAdapter()
-	 */
-	public Adapter createEARProjectMapAdapter() {
-		return new J2EEUtilityJavaProjectsItemProvider(this, false);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEProviderUtility.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEProviderUtility.java
deleted file mode 100644
index 3839ba3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEProviderUtility.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper;
-
-public class J2EEProviderUtility {
-
-	private J2EEProviderUtility() {
-		super();
-	}
-
-	public static String prependProjectName(EObject object, String label) {
-		String projectName = null;
-		if (object.eResource() != null) {
-			IProject proj = WorkbenchResourceHelper.getProject(object.eResource());
-			if (proj != null)
-				projectName = proj.getName();
-		}
-
-		if (projectName == null || projectName.equals(label))
-			return label;
-		else if (label == null || label.length() == 0)
-			return projectName;
-		else
-			return projectName + ": " + label; //$NON-NLS-1$
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUIEditingDomain.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUIEditingDomain.java
deleted file mode 100644
index 4ce6309..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUIEditingDomain.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
- * accompanying materials are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- **************************************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CommandStack;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.edit.command.CopyToClipboardCommand;
-import org.eclipse.emf.edit.command.PasteFromClipboardCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
-import org.eclipse.jst.j2ee.internal.command.J2EEClipboard;
-import org.eclipse.jst.j2ee.internal.command.J2EECopyToClipboardOverrideCommand;
-import org.eclipse.jst.j2ee.internal.command.J2EEPasteFromClipboardOverrideCommand;
-import org.eclipse.jst.j2ee.internal.command.J2EERemoveOverrideCommand;
-
-
-public class J2EEUIEditingDomain extends J2EEEditingDomain {
-	/**
-	 * J2EEUIEditingDomain constructor comment.
-	 * 
-	 * @param adapterFactory
-	 *            org.eclipse.emf.common.notify.AdapterFactory
-	 * @param commandStack
-	 *            CommandStack
-	 */
-	public J2EEUIEditingDomain(org.eclipse.emf.common.notify.AdapterFactory adapterFactory, CommandStack commandStack) {
-		super(adapterFactory, commandStack);
-		turnTraceOnIfDebugging();
-	}
-
-	protected Command createCopyToClipboardOverrideCommand(CopyToClipboardCommand copyToClipboardCommand) {
-
-		if (copyToClipboardCommand instanceof J2EECopyToClipboardOverrideCommand)
-			return null;
-		return new J2EECopyToClipboardOverrideCommand(copyToClipboardCommand);
-	}
-
-	protected Command createPasteFromClipboardOverrideCommand(PasteFromClipboardCommand pasteFromClipboardCommand) {
-		if (pasteFromClipboardCommand instanceof J2EEPasteFromClipboardOverrideCommand)
-			return null;
-		if (!(getClipboard() instanceof J2EEClipboard))
-			return null;
-		return new J2EEPasteFromClipboardOverrideCommand(pasteFromClipboardCommand);
-	}
-
-	protected Command createRemoveOverrideCommand(RemoveCommand removeCommand) {
-		return new J2EERemoveOverrideCommand(removeCommand);
-	}
-
-	public J2EEClipboard getJ2EEClipboard() {
-		return (J2EEClipboard) getClipboard();
-	}
-
-	public Object getParent(Object object) {
-		Object parent = super.getParent(object);
-		if (parent != null)
-			return parent;
-		if (object instanceof EObject)
-			return ((EObject) object).eContainer();
-		return null;
-	}
-
-	protected void turnTraceOnIfDebugging() {
-		//AbstractCommand.Trace.enable();
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJarItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJarItemProvider.java
deleted file mode 100644
index 3134bf7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJarItemProvider.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
-import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-
-/**
- * @author jsholl
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class J2EEUtilityJarItemProvider extends J2EEItemProvider {
-
-	public final static String UTILITY_JARS = J2EEUIMessages.getResourceString("Utility_JARs_UI_"); //$NON-NLS-1$
-
-	private boolean childrenLoaded = false;
-	private Application application = null;
-
-	/**
-	 * Constructor for J2EEUtilityJarItemProvider.
-	 */
-	public J2EEUtilityJarItemProvider(Application app, AdapterFactory adapterFactory, Object parent) {
-		super(adapterFactory);
-		setParent(parent);
-		application = app;
-		UtilityJarResourceChangeListener.INSTANCE.addUtilityJarItemProvider(ProjectUtilities.getProject(application), this);
-	}
-
-	public boolean hasChildren(Object object) {
-		getChildren(object);
-		return !children.isEmpty();
-	}
-
-	public Collection getChildren(final Object object) {
-		if (!childrenLoaded) {
-			try {
-				disableNotification();
-				org.eclipse.swt.custom.BusyIndicator.showWhile(null, new Runnable() {
-					public void run() {
-						computeChildren();
-					}
-				});
-			} finally {
-				enableNotification();
-			}
-		}
-		return children;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		UtilityJarResourceChangeListener.INSTANCE.removeUtilityJarItemProvider(ProjectUtilities.getProject(application), this);
-
-	}
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getChildren(Object)
-	 */
-	private void computeChildren() {
-		childrenLoaded = true;
-		IVirtualComponent ear = ComponentUtilities.findComponent(application);
-		if (ear != null) {
-			EARArtifactEdit earEdit = null;
-			try {
-				earEdit = EARArtifactEdit.getEARArtifactEditForRead(ear);
-				IVirtualReference[] modules = earEdit.getUtilityModuleReferences();
-				for (int i = 0; i < modules.length; i++) {
-					IVirtualComponent module = modules[i].getReferencedComponent();
-					if (module.isBinary()) {
-						VirtualArchiveComponent virtualArchiveComponent = (VirtualArchiveComponent) module;
-						java.io.File diskFile = virtualArchiveComponent.getUnderlyingDiskFile();
-						if (diskFile.exists())
-							children.add(diskFile);
-						else {
-							// we will assume the component name is in synch with the module uri
-							IFile utilityJar = virtualArchiveComponent.getUnderlyingWorkbenchFile();
-							if (utilityJar != null)
-								children.add(utilityJar);
-						}
-					} else {
-
-					}
-					if (module.getProject() == null || !module.getProject().isAccessible())
-						continue;
-					// return only jars for utility components
-					if (J2EEProjectUtilities.isUtilityProject(module.getProject())) {
-						IProject project = ProjectUtilities.getProject(application);
-						if (project == null)
-							continue;
-						// we will assume the component name is in synch with the module uri
-						IFile utilityJar = project.getFile(module.getName() + ".jar"); //$NON-NLS-1$
-						if (utilityJar != null)
-							children.add(utilityJar);
-					}
-				}
-			} finally {
-				if (earEdit != null) {
-					earEdit.dispose();
-				}
-			}
-		}
-	}
-
-	// private Collection getJars(List list, IResource[] members) {
-	// for (int i = 0; i < members.length; i++) {
-	// if (isJarFile(members[i])) {
-	// list.add(members[i]);
-	// } else if (members[i].getType() == IResource.FOLDER) {
-	// try {
-	// getJars(list, ((IFolder) members[i]).members());
-	// } catch (CoreException e) {
-	// Logger.getLogger().logError(e);
-	// }
-	// }
-	// }
-	// return list;
-	// }
-
-	public static boolean isJarFile(IResource member) {
-		return member.getType() == IResource.FILE && member.getName().toLowerCase().endsWith(".jar"); //$NON-NLS-1$
-	}
-
-	public static boolean isComponentFile(IResource member) {
-		return member.getType() == IResource.FILE && member.getName().toLowerCase().endsWith(IModuleConstants.COMPONENT_FILE_NAME);
-	}
-
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getImage(Object)
-	 */
-	public Object getImage(Object object) {
-		return J2EEPlugin.getPlugin().getImage("folder"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getText(Object)
-	 */
-	public String getText(Object object) {
-		return UTILITY_JARS;
-	}
-
-	// assume this resource is a jar resource
-	public void utilityJarChanged(IResource resource, IResourceDelta delta) {
-		if (childrenLoaded) {
-			if (delta.getKind() == IResourceDelta.ADDED && !children.contains(resource)) {
-				children.add(resource);
-			} else if (delta.getKind() == IResourceDelta.REMOVED && children.contains(resource)) {
-				children.remove(resource);
-			}
-		}
-	}
-
-	protected static class UtilityJarResourceChangeListener implements IResourceChangeListener, IResourceDeltaVisitor {
-
-		protected static final UtilityJarResourceChangeListener INSTANCE = new UtilityJarResourceChangeListener();
-
-		private boolean listening = false;
-		private Map earProjectsToUtilityJarProviderMap;
-
-		public void addUtilityJarItemProvider(IProject project, J2EEUtilityJarItemProvider utilityJarItemProvider) {
-			List providers = getProviders(project);
-			if (providers != null)
-				providers.add(utilityJarItemProvider);
-			if (!listening) {
-				ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
-				listening = true;
-			}
-		}
-
-		/**
-		 * @param project
-		 * @return
-		 */
-		private List getProviders(IProject project) {
-			List result = (List) getEarProjectsToUtilityJarProviderMap().get(project);
-			if (result == null && project != null)
-				getEarProjectsToUtilityJarProviderMap().put(project, (result = new ArrayList()));
-			return result;
-		}
-
-		/**
-		 * @return
-		 */
-		private Map getEarProjectsToUtilityJarProviderMap() {
-			if (earProjectsToUtilityJarProviderMap == null)
-				earProjectsToUtilityJarProviderMap = new HashMap();
-			return earProjectsToUtilityJarProviderMap;
-		}
-
-		public void removeUtilityJarItemProvider(IProject project, J2EEUtilityJarItemProvider utilityJarItemProvider) {
-			List providers = getProviders(project);
-			providers.remove(utilityJarItemProvider);
-			if (providers.isEmpty())
-				getEarProjectsToUtilityJarProviderMap().remove(project);
-
-			if (getEarProjectsToUtilityJarProviderMap().isEmpty()) {
-				ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-				listening = false;
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-		 */
-		public void resourceChanged(IResourceChangeEvent event) {
-			try {
-				event.getDelta().accept(this);
-			} catch (CoreException e) {
-				e.printStackTrace();
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) {
-			switch (delta.getResource().getType()) {
-				case IResource.ROOT :
-				case IResource.FOLDER :
-					return true;
-
-				case IResource.PROJECT :
-					return getEarProjectsToUtilityJarProviderMap().containsKey(delta.getResource());
-				case IResource.FILE : {
-					IResource resource = delta.getResource();
-					if (isComponentFile(resource)) {
-						List utilityJarItemProviders = getProviders(resource.getProject());
-						for (int i = 0; i < utilityJarItemProviders.size(); i++) {
-							((J2EEUtilityJarItemProvider) utilityJarItemProviders.get(i)).getChildren().clear();
-							((J2EEUtilityJarItemProvider) utilityJarItemProviders.get(i)).computeChildren();
-						}
-					}
-					return false;
-				}
-
-			}
-			return false;
-		}
-	}
-
-	public IFile getAssociatedFile() {
-
-		try {
-			if (application != null && application.eResource() != null) {
-				return WorkbenchResourceHelperBase.getIFile(application.eResource().getURI());
-			}
-		} catch (Throwable t) {
-
-		}
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJavaProjectsItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJavaProjectsItemProvider.java
deleted file mode 100644
index 7a2fe62..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/J2EEUtilityJavaProjectsItemProvider.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-
-public class J2EEUtilityJavaProjectsItemProvider extends EARProjectMapItemProvider {
-
-	public final static String UTILITY_JAVA_PROJECTS = J2EEUIMessages.getResourceString("Utility_Java_Projects_UI_"); //$NON-NLS-1$
-
-	/**
-	 * Constructor for UtilityJARsItemProvider.
-	 * 
-	 * @param adapterFactory
-	 */
-	public J2EEUtilityJavaProjectsItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * Constructor for UtilityJARsItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param includeModules
-	 */
-	public J2EEUtilityJavaProjectsItemProvider(AdapterFactory adapterFactory, boolean includeModules) {
-		super(adapterFactory, includeModules);
-	}
-
-	/**
-	 * @see ItemProviderAdapter#getImage(Object)
-	 */
-	public Object getImage(Object object) {
-		return J2EEPlugin.getPlugin().getImage("folder"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ItemProviderAdapter#getText(Object)
-	 */
-	public String getText(Object object) {
-		return UTILITY_JAVA_PROJECTS;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/MethodsProviderDelegate.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/MethodsProviderDelegate.java
deleted file mode 100644
index 1200806..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/MethodsProviderDelegate.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.ejb.ExcludeList;
-import org.eclipse.jst.j2ee.ejb.MethodPermission;
-import org.eclipse.jst.j2ee.ejb.MethodTransaction;
-import org.eclipse.jst.j2ee.ejb.internal.impl.EjbFactoryImpl;
-import org.eclipse.jst.j2ee.internal.ejb.provider.AbstractMethodsContentProvider;
-import org.eclipse.jst.j2ee.internal.ejb.provider.ExcludeListContentProvider;
-import org.eclipse.jst.j2ee.internal.ejb.provider.MethodPermissionsContentProvider;
-import org.eclipse.jst.j2ee.internal.ejb.provider.MethodTransactionContentProvider;
-
-
-public class MethodsProviderDelegate implements ITreeContentProvider {
-
-	protected ExcludeListContentProvider excludeListContentProvider;
-	protected MethodPermissionsContentProvider methodPermissionsContentProvider;
-	protected MethodTransactionContentProvider methodTransactionContentProvider;
-
-	protected static EObject EL_META = EjbFactoryImpl.getPackage().getExcludeList();
-	protected static EObject MP_META = EjbFactoryImpl.getPackage().getMethodPermission();
-	protected static EObject MT_META = EjbFactoryImpl.getPackage().getMethodTransaction();
-
-	public static boolean providesContentFor(Object object) {
-		return object instanceof AbstractMethodsContentProvider.EJBMethodItem || object instanceof MethodPermission || object instanceof MethodTransaction || object instanceof ExcludeList;
-	}
-
-	public MethodsProviderDelegate(AdapterFactory adapterFactory) {
-		super();
-		excludeListContentProvider = new ExcludeListContentProvider(adapterFactory, false);
-		methodPermissionsContentProvider = new MethodPermissionsContentProvider(adapterFactory, false);
-		methodTransactionContentProvider = new MethodTransactionContentProvider(adapterFactory, false);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		if (excludeListContentProvider != null)
-			excludeListContentProvider.dispose();
-		if (methodPermissionsContentProvider != null)
-			methodPermissionsContentProvider.dispose();
-		if (methodTransactionContentProvider != null)
-			methodTransactionContentProvider.dispose();
-	}
-
-	public AbstractMethodsContentProvider getContentProvider(Object object) {
-		EObject metaClass = null;
-		if (object instanceof AbstractMethodsContentProvider.EJBMethodItem)
-			metaClass = ((AbstractMethodsContentProvider.EJBMethodItem) object).refObject.eClass();
-		else
-			metaClass = ((EObject) object).eClass();
-
-		if (metaClass == EL_META)
-			return excludeListContentProvider;
-		else if (metaClass == MP_META)
-			return methodPermissionsContentProvider;
-		else if (metaClass == MT_META)
-			return methodTransactionContentProvider;
-
-		return null;
-	}
-
-
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		excludeListContentProvider.inputChanged(viewer, oldInput, newInput);
-		methodPermissionsContentProvider.inputChanged(viewer, oldInput, newInput);
-		methodTransactionContentProvider.inputChanged(viewer, oldInput, newInput);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		AbstractMethodsContentProvider prov = getContentProvider(parentElement);
-		return prov == null ? null : prov.getChildren(parentElement);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object element) {
-		AbstractMethodsContentProvider prov = getContentProvider(element);
-		return prov == null ? null : prov.getParent(element);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		AbstractMethodsContentProvider prov = getContentProvider(element);
-		return prov != null && prov.hasChildren(element);
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		AbstractMethodsContentProvider prov = getContentProvider(inputElement);
-		return prov == null ? null : prov.getElements(inputElement);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/ModulesItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/ModulesItemProvider.java
deleted file mode 100644
index 038cf30..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/provider/ModulesItemProvider.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.provider;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
-
-public class ModulesItemProvider extends J2EEItemProvider {
-	public static final String MODULES = J2EEUIMessages.getResourceString("Modules_UI_"); //$NON-NLS-1$
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 */
-	public ModulesItemProvider() {
-		super();
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param children
-	 */
-	public ModulesItemProvider(Collection children) {
-		super(children);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param text
-	 */
-	public ModulesItemProvider(String text) {
-		super(text);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param text
-	 * @param children
-	 */
-	public ModulesItemProvider(String text, Collection children) {
-		super(text, children);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param text
-	 * @param image
-	 */
-	public ModulesItemProvider(String text, Object image) {
-		super(text, image);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param text
-	 * @param image
-	 * @param children
-	 */
-	public ModulesItemProvider(String text, Object image, Collection children) {
-		super(text, image, children);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param text
-	 * @param image
-	 * @param parent
-	 */
-	public ModulesItemProvider(String text, Object image, Object parent) {
-		super(text, image, parent);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param text
-	 * @param image
-	 * @param parent
-	 * @param children
-	 */
-	public ModulesItemProvider(String text, Object image, Object parent, Collection children) {
-		super(text, image, parent, children);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param text
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory, String text) {
-		super(adapterFactory, text);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param text
-	 * @param image
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory, String text, Object image) {
-		super(adapterFactory, text, image);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param text
-	 * @param image
-	 * @param parent
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory, String text, Object image, Object parent) {
-		super(adapterFactory, text, image, parent);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param children
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory, Collection children) {
-		super(adapterFactory, children);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param text
-	 * @param children
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory, String text, Collection children) {
-		super(adapterFactory, text, children);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param text
-	 * @param image
-	 * @param children
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory, String text, Object image, Collection children) {
-		super(adapterFactory, text, image, children);
-	}
-
-	/**
-	 * Constructor for ModulesItemProvider.
-	 * 
-	 * @param adapterFactory
-	 * @param text
-	 * @param image
-	 * @param parent
-	 * @param children
-	 */
-	public ModulesItemProvider(AdapterFactory adapterFactory, String text, Object image, Object parent, Collection children) {
-		super(adapterFactory, text, image, parent, children);
-	}
-
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getImage(Object)
-	 */
-	public Object getImage(Object object) {
-		return J2EEPlugin.getPlugin().getImage("folder"); //$NON-NLS-1$
-	}
-
-	public Application getParentApplication() {
-		return (Application) getParent();
-	}
-
-	public IFile getAssociatedFile() {
-
-		try {
-			Application application = getParentApplication();
-			if (application != null && application.eResource() != null) {
-				return WorkbenchResourceHelperBase.getIFile(application.eResource().getURI());
-			}
-		} catch (Throwable t) {
-
-		}
-		return null;
-	}
-
-
-	/**
-	 * @see org.eclipse.emf.edit.provider.IItemLabelProvider#getText(Object)
-	 */
-	public String getText(Object object) {
-		return MODULES;
-	}
-
-	public boolean hasChildren(Object object) {
-		getChildren(object);
-		return !localChildren.isEmpty();
-	}
-
-	private List localChildren = null;
-
-	public Collection getChildren(Object object) {
-		return initChildren(object);
-	}
-
-	protected List initChildren(Object object) {
-		localChildren = new ArrayList();
-		Application app = (Application) getParent();
-		IVirtualComponent ear = ComponentUtilities.findComponent(app);
-		List modules = app.getModules();
-		List binaryModules = new ArrayList();
-		IVirtualReference[] refs = ear.getReferences();
-		for (int i = 0; i < modules.size(); i++) {
-			Module module = (Module) modules.get(i);
-			String moduleURI = module.getUri();
-			boolean foundBinary = false;
-			for (int j = 0; j < refs.length && !foundBinary; j++) {
-				IVirtualComponent component = refs[j].getReferencedComponent();
-				if (component.isBinary()) {
-					if (refs[j].getArchiveName().equals(moduleURI)) {
-						foundBinary = true;
-						JavaEEBinaryComponentHelper helper = null;
-						try {
-							helper = new JavaEEBinaryComponentHelper(component);
-							Object binaryModule = helper.getPrimaryRootObject();
-							if (binaryModule != null) {
-								binaryModules.add(binaryModule);
-							}
-						} finally {
-							if(helper != null){
-								helper.dispose();
-							}
-						}
-					}
-				}
-			}
-			if (!foundBinary) {
-				localChildren.add(module);
-			}
-		}
-
-		if (!binaryModules.isEmpty()) {
-			localChildren.add(new J2EEBinaryModulesItemProvider(app, getAdapterFactory(), binaryModules));
-		}
-
-		return localChildren;
-
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableItem.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableItem.java
deleted file mode 100644
index b300998..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableItem.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov, stefan.dimov@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ui;
-
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jst.j2ee.internal.SecondCheckBoxStateChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-public class DoubleCheckboxTableItem extends TableItem {
-	
-	protected int mSecondCheckboxColumnIndex;
-	protected Button secondCheckBox;
-	protected SelectionListener selLstnr;
-	protected ICheckStateListener tblLstnr = null;
-	protected DoubleCheckboxTableViewer tableViewer;
-	
-	public DoubleCheckboxTableItem (Table parent, int style, int secondCheckboxColumnIndex, DoubleCheckboxTableViewer tableViewer) {
-		super(parent, style);
-		mSecondCheckboxColumnIndex = secondCheckboxColumnIndex;
-		this.tableViewer = tableViewer;
-		createCheckBox(parent);
-	}
-	
-	public DoubleCheckboxTableItem(Table parent, int style, int index, int secondCheckboxColumnIndex, DoubleCheckboxTableViewer tableViewer) {
-		super(parent, style, index);
-		mSecondCheckboxColumnIndex = secondCheckboxColumnIndex;
-		this.tableViewer = tableViewer;		
-		createCheckBox(parent);		
-	}
-	
-	public void setSecondChecked (boolean checked) {
-		secondCheckBox.setSelection(checked);
-	}
-	
-	public boolean getSecondChecked() {
-		return secondCheckBox.getSelection();
-	}
-	
-	public void setSecondGrayed(boolean grayed) {
-		secondCheckBox.setGrayed(grayed);
-	}
-	
-	public boolean getSecondGrayed() {
-		return secondCheckBox.getGrayed();
-	}
-	
-	public void setSecondEnabled(boolean enabled) {
-		secondCheckBox.setEnabled(enabled);
-	}
-	
-	public boolean getSecondEnabled() {
-		return secondCheckBox.getEnabled();
-	}
-	
-	public boolean isSecondEnabled() {
-		return secondCheckBox.isEnabled();
-	}
-	
-	private void createCheckBox(Table parentTable) {
-		secondCheckBox = new Button(parentTable, SWT.CHECK | SWT.FLAT);
-		secondCheckBox.pack();
-		final DoubleCheckboxTableItem th = this; 
-		selLstnr = new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				SecondCheckBoxStateChangedEvent evt = new SecondCheckBoxStateChangedEvent(tableViewer, 
-																			getData(),
-																			getChecked());
-				evt.setTableItem(th);
-				tblLstnr.checkStateChanged(evt);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {}
-		};
-		secondCheckBox.addSelectionListener(selLstnr);
-	}
-	
-	public Button getSecondCheckBox() {
-		return secondCheckBox; 
-	}
-	
-	public void dispose() {
-		secondCheckBox.removeSelectionListener(selLstnr);
-		selLstnr = null;
-		super.dispose();
-	}
-	
-	void setTableListener(ICheckStateListener tblLstnr) {
-		this.tblLstnr = tblLstnr;
-	}
-	
-	protected void checkSubclass () {}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java
deleted file mode 100644
index c87d69d..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/DoubleCheckboxTableViewer.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 SAP AG and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Stefan Dimov, stefan.dimov@sap.com - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ViewerRow;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-
-public class DoubleCheckboxTableViewer extends CheckboxTableViewer {
-	
-	protected int mSecondCheckboxColumnIndex;
-	protected ICheckStateListener lstnr = null;
-	
-    public DoubleCheckboxTableViewer(Table table, int secondCheckBoxColumnIndex) {
-        super(table);
-        if (secondCheckBoxColumnIndex < 1)
-			throw new IllegalArgumentException(
-					"The index of the second column with check box must be bigger than zero"); //$NON-NLS-1$
-        		
-        mSecondCheckboxColumnIndex = secondCheckBoxColumnIndex;
-    }
-
-    public void addCheckStateListener(ICheckStateListener listener) {
-    	super.addCheckStateListener(listener);
-    	lstnr = listener;
-    }
-	
-    public void removeCheckStateListener(ICheckStateListener listener) {
-    	super.removeCheckStateListener(listener);
-    	lstnr = null;
-    	getTable().getItems();
-    	for (int i = 0; i < getTable().getItems().length; i++) {
-    		DoubleCheckboxTableItem it = (DoubleCheckboxTableItem)getTable().getItem(i);
-    		it.setTableListener(null);
-    	}
-    }
-	
-	protected ViewerRow internalCreateNewRowPart(int style, int rowIndex) {
-		DoubleCheckboxTableItem item;
-		if (rowIndex >= 0) {
-			item = new DoubleCheckboxTableItem(getTable(), style, rowIndex, mSecondCheckboxColumnIndex, this);
-		} else {
-			item = new DoubleCheckboxTableItem(getTable(), style, mSecondCheckboxColumnIndex, this);
-		}	
-		item.setTableListener(lstnr);		
-		TableEditor editor = new TableEditor(getTable());
- 	    editor.minimumWidth = item.getSecondCheckBox().getSize ().x;
-		editor.horizontalAlignment = SWT.CENTER;		
-		editor.setEditor(item.getSecondCheckBox(), item, mSecondCheckboxColumnIndex);
-		return getViewerRowFromItem(item);
-	}
-	
-    public Object[] getSecondCheckedItems() {
-        TableItem[] children = getTable().getItems();
-        ArrayList v = new ArrayList(children.length);
-        for (int i = 0; i < children.length; i++) {
-        	DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i];
-            if (item.getSecondChecked()) {
-				v.add(item);
-			}
-        }
-        return v.toArray();
-    }
-    
-    public void setAllSecondChecked(boolean state) {
-        TableItem[] children = getTable().getItems();
-        for (int i = 0; i < children.length; i++) {
-            DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i];
-            item.setSecondChecked(state);
-        }
-    }    
-    
-    public Object[] getSingleCheckedElements() {
-        TableItem[] children = getTable().getItems();
-        ArrayList v = new ArrayList(children.length);
-        for (int i = 0; i < children.length; i++) {
-            DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i];
-            if (item.getChecked() && (!item.getSecondChecked())) {
-				v.add(item.getData());
-			}
-        }
-        return v.toArray();
-    }
-    
-    public Object[] getDoubleCheckedElements() {
-        TableItem[] children = getTable().getItems();
-        ArrayList v = new ArrayList(children.length);
-        for (int i = 0; i < children.length; i++) {
-            DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i];
-            if (item.getChecked() && item.getSecondChecked()) {
-				v.add(item.getData());
-			}
-        }
-        return v.toArray();
-    }    
-    
-    public Object[] getUncheckedItems() {
-        TableItem[] children = getTable().getItems();
-        ArrayList v = new ArrayList(children.length);
-        for (int i = 0; i < children.length; i++) {
-            TableItem item = children[i];
-            if (!item.getChecked()) {
-				v.add(item);
-			}
-        }
-        return v.toArray();
-    }
-
-    
-    public Object[] getSecondUncheckedElements() {
-        TableItem[] children = getTable().getItems();
-        ArrayList v = new ArrayList(children.length);
-        for (int i = 0; i < children.length; i++) {
-        	DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)children[i];
-            if (!item.getSecondChecked()) {
-				v.add(item.getData());
-			}
-        }
-        return v.toArray();
-    }    
-   
-    public void setSecondCheckedItems(Object[] inputItems) {
-        assertElementsNotNull(inputItems);
-        Hashtable set = new Hashtable();
-        for (int i = 0; i < inputItems.length; ++i) {
-            set.put(inputItems[i], inputItems[i]);
-        }
-        TableItem[] items = getTable().getItems();
-        for (int i = 0; i < items.length; ++i) {
-        	DoubleCheckboxTableItem item = (DoubleCheckboxTableItem)items[i];
-            boolean check = set.containsKey(item);
-            if (item.getSecondChecked() != check) {
-                item.setSecondChecked(check);
-            }
-
-        }
-    }
-	    
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/J2EEPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/J2EEPropertiesPage.java
deleted file mode 100644
index 69810ba..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/J2EEPropertiesPage.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences     
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.ui;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jst.j2ee.internal.J2EEPropertiesConstants;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.internal.project.ProjectSupportResourceHandler;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.web.internal.operation.IWebProjectPropertiesUpdateDataModelProperties;
-import org.eclipse.wst.web.internal.operation.WebProjectPropertiesUpdateDataModelProvider;
-
-import com.ibm.icu.util.StringTokenizer;
-
-
-/**
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of
- * type comments go to Window>Preferences>Java>Code Generation.
- */
-public class J2EEPropertiesPage extends PropertyPage implements J2EEPropertiesConstants  {
-	protected IProject project = null;
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	Text contextRootNameField, webContentFolderField;
-
-	
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Control control = null;
-		project = getProject();
-		if (project != null) {
-			Composite containerGroup = new Composite(parent, SWT.NONE );
-			control = containerGroup;
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 2;
-			
-			containerGroup.setLayout(layout);
-			
-			fillInformation(project, containerGroup);
-		}
-		Dialog.applyDialogFont(parent);
-		return control;
-	}
-	
-	private void fillInformation(IProject p, Composite c) {
-		try {
-			if( J2EEProjectUtilities.getJ2EEProjectType(p).equals( J2EEProjectUtilities.DYNAMIC_WEB) ||
-						J2EEProjectUtilities.getJ2EEProjectType(p).equals( J2EEProjectUtilities.STATIC_WEB)	){
-				fillContextRoot(p,c);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-
-	
-	
-	/**
-	 * @param p
-	 * @param c
-	 */
-
-	private void fillContextRoot(IProject p, Composite c) {
-		Label contextRootLabel = new Label(c, SWT.NULL);
-		contextRootLabel.setText(J2EEPropertiesConstants.WEB_CONTEXT_ROOT);
-		GridData data = new GridData();
-		data.horizontalIndent = 15;
-		contextRootLabel.setLayoutData(data);
-		
-		contextRootNameField = new Text(c, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		contextRootNameField.setLayoutData(data);
-		contextRootNameField.setEditable(true);
-		
-		String s = J2EEProjectUtilities.getServerContextRoot(p);
-		if( s == null ){
-			s = ""; //$NON-NLS-1$
-		}
-		contextRootNameField.setText(s);
-		
-		contextRootNameField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				String newContextRoot = contextRootNameField.getText();
-				validateContextRoot(newContextRoot);
-			}
-        });
-		
-		
-	}
-
-
-	private IProject getProject() {
-		if (project == null) {
-			Object element = getElement();
-			if (element == null) {
-				return null;
-			}
-			if (element instanceof IProject) {
-				project = (IProject)element;
-				return project;
-			}
-			return null;
-		}
-		return project;
-	}
-
-	/**
-	 * @return
-	 */
-	private String getContextRoot() {
-		return (contextRootNameField != null) ? contextRootNameField.getText() : null;
-	}
-
-	protected boolean hasUpdatedInformation() {
-		return hasContextRootChanged();
- 	
-	 }
-	
-	private boolean hasContextRootChanged() {
-		String oldContextRoot = J2EEProjectUtilities.getServerContextRoot( project );
-		if (oldContextRoot == null) return true;
-		return !oldContextRoot.equals(getContextRoot());
-	}
-	
-
-	
-	protected void performDefaults() {
-		super.performDefaults();
-	
-		if (this.contextRootNameField != null)
-			contextRootNameField.setText(J2EEProjectUtilities.getServerContextRoot(project));
-		
-	}
-	
-	
-	public boolean performOk() {
-		boolean retVal = true;
-
-		IDataModel model = DataModelFactory.createDataModel( new WebProjectPropertiesUpdateDataModelProvider());
-		model.setProperty( IWebProjectPropertiesUpdateDataModelProperties.PROJECT, project );
-		model.setStringProperty( IWebProjectPropertiesUpdateDataModelProperties.CONTEXT_ROOT, getContextRoot() );
-		try {
-			model.getDefaultOperation().execute( new NullProgressMonitor(), null );
-		} catch (ExecutionException e) {
-			Logger.getLogger().logError( e );
-		}
-		return retVal;
-	}
-	
-
-	 
-	 public void validateContextRoot(String name) {  
-        boolean bValid = true;
-        if (name == null) { 
-            //  this was added because the error message shouldnt be shown initially. It should be shown only if context
-            // root field is edited to
-            this.setErrorMessage(ProjectSupportResourceHandler.getString(ProjectSupportResourceHandler.Context_Root_cannot_be_empty_2, new Object[0]));
-            bValid = false;
-        }
-
-        if (!(name.indexOf(' ') > -1)) {
-            StringTokenizer stok = new StringTokenizer(name, "."); //$NON-NLS-1$
-            while (stok.hasMoreTokens()) {
-                String token = stok.nextToken();
-                for (int i = 0; i < token.length(); i++) {
-                    if (!(token.charAt(i) == '_') && !(token.charAt(i) == '-') && !(token.charAt(i) == '/') && Character.isLetterOrDigit(token.charAt(i)) == false) {
-                        if (Character.isWhitespace(token.charAt(i)) == false) {
-                        	this.setErrorMessage( ProjectSupportResourceHandler.getString(ProjectSupportResourceHandler.The_character_is_invalid_in_a_context_root , new Object[] {(new Character(token.charAt(i))).toString()}));
-                        	bValid = false;
-                        }
-                    }
-                }
-            }
-        } // en/ end of if(name.trim
-        else {
-        	this.setErrorMessage(ProjectSupportResourceHandler.getString(ProjectSupportResourceHandler.Names_cannot_contain_whitespace_, new Object[0]));
-        	bValid = false;
-        }
-        if (bValid)   	this.setErrorMessage(null);
-        this.setValid(bValid);
-     
-    }
-	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/util/AnnotationIconDecorator.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/util/AnnotationIconDecorator.java
deleted file mode 100644
index 5722db0..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/util/AnnotationIconDecorator.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 18, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.ui.util;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jst.common.internal.annotations.controller.AnnotationsController;
-import org.eclipse.jst.common.internal.annotations.controller.AnnotationsControllerHelper;
-import org.eclipse.jst.common.internal.annotations.controller.AnnotationsControllerManager;
-import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
-import org.eclipse.jst.j2ee.internal.ejb.provider.BeanClassProviderHelper;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Add overlay for annotated objects
- */
-public class AnnotationIconDecorator extends LabelProvider implements ILightweightLabelDecorator {
-	
-	protected static final String ANNOTATION_IMAGE_DESC_STRING = "annotation_bean_overlay"; //$NON-NLS-1$
-	protected static final String ANNOTATION_DISABLED_IMAGE_DESC_STRING = "dis_annotation_bean_overlay"; //$NON-NLS-1$
-	private static final ImageDescriptor ANNOTATION_IMG_DESC = getImageDescriptor(ANNOTATION_IMAGE_DESC_STRING);
-	private static final ImageDescriptor ANNOTATION_DISABLED_IMG_DESC = getImageDescriptor(ANNOTATION_DISABLED_IMAGE_DESC_STRING);
-
-	public AnnotationIconDecorator() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object,
-	 *      org.eclipse.jface.viewers.IDecoration)
-	 */
-	private boolean isAnnotatedSupported(EObject target) {
-		boolean bAnnotationSupported = false;
-		if (AnnotationsControllerHelper.INSTANCE.isAnnotated(target)) {
-			bAnnotationSupported = true;
-		}
-		return bAnnotationSupported;
-	}
-
-	private AnnotationsController getControllerForProject(IProject targetProject) {
-		AnnotationsController controller = AnnotationsControllerManager.INSTANCE.getAnnotationsController(targetProject);
-		return controller;
-	}
-
-	public void decorate(Object element, IDecoration decoration) {
-		EObject eObject = null;
-		if (element instanceof BeanClassProviderHelper) {
-			BeanClassProviderHelper beanClassHelper = (BeanClassProviderHelper) element;
-			eObject = beanClassHelper.getEjb();
-		} else if (element instanceof EnterpriseBean || element instanceof Servlet)
-			eObject = (EObject) element;
-		if (eObject == null)
-			return;
-		if (isAnnotatedSupported(eObject)) {
-			if (isAnnotationEnabled(eObject)) {
-				if (ANNOTATION_IMG_DESC != null)
-					decoration.addOverlay(ANNOTATION_IMG_DESC);
-			} else {
-				if (ANNOTATION_DISABLED_IMG_DESC != null)
-					decoration.addOverlay(ANNOTATION_DISABLED_IMG_DESC);
-			}
-		}
-	}
-
-	/**
-	 * @param bean
-	 * @return
-	 */
-	private boolean isAnnotationEnabled(EObject eObject) {
-		IFile annotatedSource = null;
-		/* short circuit if possible */
-		if (AnnotationsControllerManager.INSTANCE.isAnyAnnotationsSupported()) {
-			IProject targetProject = ProjectUtilities.getProject(eObject);
-			AnnotationsController controller = getControllerForProject(targetProject);
-			if (controller != null)
-				annotatedSource = controller.getEnabledAnnotationFile(eObject);
-		}
-		return (annotatedSource != null) ? true : false;
-	}
-
-	public Image decorateImage(Image image, Object element) {
-		return image;
-	}
-
-	/**
-	 * @see ILabelDecorator#decorateText(String, Object)
-	 */
-	public String decorateText(String text, Object element) {
-		return text;
-	}
-
-	protected static ImageDescriptor getImageDescriptor(String imageFileName) {
-		if (imageFileName != null)
-			return J2EEUIPlugin.getDefault().getImageDescriptor(imageFileName);
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/util/BinaryProjectUIHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/util/BinaryProjectUIHelper.java
deleted file mode 100644
index 4205656..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/ui/util/BinaryProjectUIHelper.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.ui.util;
-
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jem.workbench.utility.JemProjectUtilities;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.widgets.Shell;
-
-public class BinaryProjectUIHelper {
-
-	public static final String DIALOG_TITLE = J2EEUIMessages.getResourceString("BINARY_PROJECT"); //$NON-NLS-1$
-	public static final String DIALOG_MESSAGE = J2EEUIMessages.getResourceString("ACTION_CANNOT_BE_PERFORMED_ON_BIN_PROJECT"); //$NON-NLS-1$
-
-	/**
-	 * Constructor for BinaryProjectUIHelper.
-	 */
-	public BinaryProjectUIHelper() {
-		super();
-	}
-
-	public static void displayError(Shell parent) {
-		MessageDialog.openError(parent, DIALOG_TITLE, DIALOG_MESSAGE);
-		return;
-	}
-
-	public static boolean displayErrorIfBinaryProject(Shell parent, IProject aProject) {
-		boolean isBinary = JemProjectUtilities.isBinaryProject(aProject);
-		if (isBinary)
-			displayError(parent);
-		return isBinary;
-	}
-}
-
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebAppItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebAppItemProvider.java
deleted file mode 100644
index 2fc3dbb..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebAppItemProvider.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.*;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationWrapper;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppItemProvider;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
-import org.eclipse.jst.j2ee.webapplication.WelcomeFileList;
-import org.eclipse.jst.j2ee.webservice.wsclient.WebServicesClient;
-import org.eclipse.jst.j2ee.webservice.wsclient.Webservice_clientPackage;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent;
-import org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener;
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class J2EEWebAppItemProvider extends WebAppItemProvider {
-
-	private List children = new ArrayList();
-	private boolean isInitializing = false;
-	private WebErrorPageGroupItemProvider webErrorPageGroup;
-	private WebServletGroupItemProvider webServletGroup;
-	private WebServletMappingGroupItemProvider webServletMappingGroup;
-	private WebFiltersGroupItemProvider webFiltersGroup;
-	private WebFilterMappingGroupItemProvider webFilterMappingGroup;
-	private WebReferencesGroupItemProvider webRefsGroup;
-	private WebSecurityGroupItemProvider webSecurityGroup;
-	private J2EEWebServiceClientDDManager clientMgr;
-	private WebListenerGroupItemProvider webListenerGroup;
-	private WebWelcomeFileGroupItemProvider webWelcomeFileGroup;
-	private WebContextParamGroupItemProvider webContextParamGroup;
-
-	/**
-	 * Listen and fire updates for 1.3 web service clients
-	 */
-	private class J2EEWebServiceClientDDManager extends AdapterImpl implements EditModelListener {
-		private WeakReference weakWebApp;
-		WebServicesClient client;
-
-		public J2EEWebServiceClientDDManager(WeakReference weakWebApp) {
-			this.weakWebApp = weakWebApp;
-			init();
-		}
-
-		
-
-		public void init() {
-			// TODO fix up notification
-			// editModel = webServiceMgr.getWSEditModel(ProjectUtilities.getProject(webApp));
-			// if (editModel != null) {
-			// editModel.addListener(this);
-			// if (editModel.get13WebServicesClientResource() != null) {
-			// client = editModel.get13WebServicesClientResource().getWebServicesClient();
-			// if (client != null)
-			// client.eAdapters().add(this);
-			// }
-			// }
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.wst.common.internal.emfworkbench.integration.EditModelListener#editModelChanged(org.eclipse.wst.common.internal.emfworkbench.integration.EditModelEvent)
-		 */
-		public void editModelChanged(EditModelEvent anEvent) {
-			// TODO fix up notification
-			// if (editModel == null)
-			// init();
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
-		 */
-		public void notifyChanged(Notification notification) {
-			if (notification.getEventType() == Notification.ADD || notification.getEventType() == Notification.ADD_MANY || notification.getEventType() == Notification.REMOVE || notification.getEventType() == Notification.REMOVE_MANY) {
-				if (notification.getFeatureID(WebServicesClient.class) == Webservice_clientPackage.WEB_SERVICES_CLIENT__SERVICE_REFS) {
-					NotificationWrapper notificationWrapper = new NotificationWrapper(webRefsGroup, notification);
-					fireNotifyChanged(notificationWrapper);
-				}
-			}
-			super.notifyChanged(notification);
-		}
-
-		public void dispose() {
-			// TODO fix up notification
-			
-		    webErrorPageGroup.dispose();
-		    webContextParamGroup.dispose();
-		    webWelcomeFileGroup.dispose(); 
-			webServletGroup.dispose();
-			webServletMappingGroup.dispose();
-			webFiltersGroup.dispose();
-			webFilterMappingGroup.dispose();
-			webRefsGroup.dispose();
-			webSecurityGroup.dispose();
-			webListenerGroup.dispose();
-			
-			weakWebApp = null;
-			 if (client != null)
-				 client.eAdapters().remove(this);
-			 children.clear();
-		}
-	}
-
-	/**
-	 * Default constructor
-	 */
-	public J2EEWebAppItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * Initialize the list of children
-	 */
-	private void initChildren() {
-		if (isInitializing)
-			return;
-		
-		isInitializing = true;
-		try {
-			children.clear();
-			if (clientMgr == null) {
-				clientMgr = new J2EEWebServiceClientDDManager(weakWebApp);
-			}
-//			if (!((WebApp)weakWebApp.get()).getErrorPages().isEmpty()) {
-//			    children.add(webErrorPageGroup = new WebErrorPageGroupItemProvider(adapterFactory, weakWebApp));
-//			} else {
-//			    WebErrorPageGroupItemProvider child = null;
-//			    for (int i=0; i < children.size(); i++) {
-//		            Object object = children.get(i);
-//		            if (object instanceof WebErrorPageGroupItemProvider) {
-//		                child = (WebErrorPageGroupItemProvider) object;
-//		                break;
-//		            }
-//		        }
-//			    if (child != null) {
-//			        child.dispose();
-//			    }
-//			}
-//            if (!((WebApp)weakWebApp.get()).getContextParams().isEmpty()) {
-//                children.add(webContextParamGroup = new WebContextParamGroupItemProvider(adapterFactory, weakWebApp));
-//            } else {
-//                WebContextParamGroupItemProvider child = null;
-//                for (int i=0; i < children.size(); i++) {
-//                    Object object = children.get(i);
-//                    if (object instanceof WebContextParamGroupItemProvider) {
-//                        child = (WebContextParamGroupItemProvider) object;
-//                        break;
-//                    }
-//                }
-//                if (child != null) {
-//                    child.dispose();
-//                }
-//            }
-//            WelcomeFileList welcomeFileList = ((WebApp)weakWebApp.get()).getFileList();
-//            if (welcomeFileList != null && !welcomeFileList.getFile().isEmpty()) {
-//                children.add(webWelcomeFileGroup = new WebWelcomeFileGroupItemProvider(adapterFactory, weakWebApp));
-//            } else {
-//                WebWelcomeFileGroupItemProvider child = null;
-//                for (int i=0; i < children.size(); i++) {
-//                    Object object = children.get(i);
-//                    if (object instanceof WebWelcomeFileGroupItemProvider) {
-//                        child = (WebWelcomeFileGroupItemProvider) object;
-//                        break;
-//                    }
-//                }
-//                if (child != null) {
-//                    child.dispose();
-//                }
-//            }
-            
-            children.add(webErrorPageGroup = new WebErrorPageGroupItemProvider(adapterFactory, weakWebApp));
-            children.add(webContextParamGroup = new WebContextParamGroupItemProvider(adapterFactory, weakWebApp));
-            children.add(webWelcomeFileGroup = new WebWelcomeFileGroupItemProvider(adapterFactory, weakWebApp));
-            
-			children.add(webServletGroup = new WebServletGroupItemProvider(adapterFactory, weakWebApp));
-			children.add(webServletMappingGroup = new WebServletMappingGroupItemProvider(adapterFactory, weakWebApp));
-			children.add(webFiltersGroup = new WebFiltersGroupItemProvider(adapterFactory, weakWebApp));
-			children.add(webFilterMappingGroup = new WebFilterMappingGroupItemProvider(adapterFactory, weakWebApp));
-			children.add(webRefsGroup = new WebReferencesGroupItemProvider(adapterFactory, weakWebApp));
-			children.add(webSecurityGroup = new WebSecurityGroupItemProvider(adapterFactory, weakWebApp));
-			children.add(webListenerGroup = new WebListenerGroupItemProvider(adapterFactory, weakWebApp));
-		} finally {
-			isInitializing = false;
-		}
-	}
-
-	protected WeakReference weakWebApp = null;
-
-	public Collection getChildren(Object object) {		
-		if (object instanceof WebApp) {
-			WebApp webApp = (WebApp) object;
-			// If uninitialized or web app needs to re-initialize, init the children
-			if(weakWebApp == null || children.isEmpty() || webApp != weakWebApp.get()) {
-				weakWebApp = new WeakReference(webApp);
-				initChildren();
-			}
-//			if (isInitializing) return children;
-//			isInitializing = true;
-//			updateContextParams(webApp);
-//			updateWelcomePages(webApp);
-//			isInitializing = false;
-			return children;			
-		} 
-		return Collections.EMPTY_LIST;
-	}
-
-    private void updateContextParams(WebApp webApp) {
-        EList contextParams = webApp.getContextParams();
-        if (contextParams == null || contextParams.isEmpty()) {
-            if (webContextParamGroup != null) { 
-                children.remove(webContextParamGroup);
-                webContextParamGroup.dispose();
-                webContextParamGroup = null;
-            }
-        } else if (webContextParamGroup == null) { 
-            children.add(webContextParamGroup = new WebContextParamGroupItemProvider(adapterFactory, weakWebApp));
-        }
-    }
-
-    private void updateWelcomePages(WebApp webApp) {
-        WelcomeFileList fileList = webApp.getFileList();
-        if (fileList == null || fileList.getFile().isEmpty()) {
-            if (webWelcomeFileGroup != null) { 
-                children.remove(webWelcomeFileGroup);
-                webWelcomeFileGroup.dispose();
-                webWelcomeFileGroup = null;
-            }
-        } else if (webWelcomeFileGroup == null) { 
-            children.add(webWelcomeFileGroup = new WebWelcomeFileGroupItemProvider(adapterFactory, weakWebApp));
-        }
-    }
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.common.notify.Adapter#notifyChanged(org.eclipse.emf.common.notify.Notification)
-	 */
-	public void notifyChanged(Notification notification) {
-		// We only care about adds and removes for the different item provider
-		// groups
-		if (notification.getEventType() == Notification.ADD || notification.getEventType() == Notification.ADD_MANY || notification.getEventType() == Notification.REMOVE || notification.getEventType() == Notification.REMOVE_MANY) {
-			Object notifier = null;
-			switch (notification.getFeatureID(WebApp.class)) {
-			    case WebapplicationPackage.WEB_APP__ERROR_PAGES :
-			        notifier = webErrorPageGroup;
-			        break;
-                case WebapplicationPackage.WEB_APP__CONTEXT_PARAMS :
-                    notifier = webContextParamGroup;
-                    break;
-                case WebapplicationPackage.WEB_APP__FILE_LIST :
-                    notifier = webWelcomeFileGroup;
-                    break;
-				case WebapplicationPackage.WEB_APP__SERVLETS :
-					notifier = webServletGroup;
-					break;
-				case WebapplicationPackage.WEB_APP__SERVLET_MAPPINGS :
-					notifier = webServletMappingGroup;
-					break;
-				case WebapplicationPackage.WEB_APP__FILTERS :
-					notifier = webFiltersGroup;
-					break;
-				case WebapplicationPackage.WEB_APP__FILTER_MAPPINGS :
-					notifier = webFilterMappingGroup;
-					break;
-				case WebapplicationPackage.WEB_APP__EJB_LOCAL_REFS :
-				case WebapplicationPackage.WEB_APP__EJB_REFS :
-				case WebapplicationPackage.WEB_APP__MESSAGE_DESTINATION_REFS :
-				case WebapplicationPackage.WEB_APP__RESOURCE_ENV_REFS :
-				case WebapplicationPackage.WEB_APP__RESOURCE_REFS :
-				case WebapplicationPackage.WEB_APP__SERVICE_REFS :
-					notifier = webRefsGroup;
-					break;
-				case WebapplicationPackage.WEB_APP__SECURITY_ROLES :
-				case WebapplicationPackage.WEB_APP__CONSTRAINTS :
-					notifier = webSecurityGroup;
-					break;
-				case WebapplicationPackage.WEB_APP__LISTENERS :
-					notifier = webListenerGroup;
-					break;
-			}
-			if (notifier != null) {
-				NotificationWrapper notificationWrapper = new NotificationWrapper(notifier, notification);
-				fireNotifyChanged(notificationWrapper);
-				return;
-			}
-		}
-		super.notifyChanged(notification);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.IDisposable#dispose()
-	 */
-	public void dispose() {
-		if (clientMgr != null)
-			clientMgr.dispose();
-		super.dispose();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebItemProviderAdapterFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebItemProviderAdapterFactory.java
deleted file mode 100644
index 1b67ce5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/J2EEWebItemProviderAdapterFactory.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.jst.j2ee.internal.web.providers.WebapplicationItemProviderAdapterFactory;
-
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class J2EEWebItemProviderAdapterFactory extends WebapplicationItemProviderAdapterFactory {
-
-	/**
-	 * Default constructor
-	 */
-	public J2EEWebItemProviderAdapterFactory() {
-		super();
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.webapplication.util.WebapplicationAdapterFactory#createWebAppAdapter()
-	 */
-	public Adapter createWebAppAdapter() {
-		if (webAppItemProvider == null)
-			webAppItemProvider = new J2EEWebAppItemProvider(this);
-		return webAppItemProvider;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebContextParamGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebContextParamGroupItemProvider.java
deleted file mode 100644
index 9b1a4a6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebContextParamGroupItemProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Created on Mar 29, 2004
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WebContextParamGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebContextParamGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		if (weakWebApp!=null) {
-			Object webApp = weakWebApp.get();
-			if(null != webApp){
-				result.addAll(((WebApp)webApp).getContextParams());
-			}
-		}
-		return result;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return WebPlugin.getDefault().getImage("initializ_parameter_context"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Context_Parameters_2"); //$NON-NLS-1$ 
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebErrorPageGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebErrorPageGroupItemProvider.java
deleted file mode 100644
index 8b76b9e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebErrorPageGroupItemProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Created on Mar 29, 2004
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WebErrorPageGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebErrorPageGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		if (weakWebApp!=null) {
-			Object webApp = weakWebApp.get();
-			if(null != webApp){
-				result.addAll(((WebApp)webApp).getErrorPages());
-			}
-		}
-		return result;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return WebPlugin.getDefault().getImage("error_page"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Error_Pages_1"); //$NON-NLS-1$ 
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFilterMappingGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFilterMappingGroupItemProvider.java
deleted file mode 100644
index beae5d9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFilterMappingGroupItemProvider.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jun 11, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jialin
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class WebFilterMappingGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebFilterMappingGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory,weakWebApp);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		Object webApp = weakWebApp.get();
-		if(null != webApp){
-			return ((WebApp)webApp).getFilterMappings();
-		}
-		return Collections.EMPTY_LIST;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return WebPlugin.getDefault().getImage("filter_mapping"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Filter_Mappings_1"); //$NON-NLS-1$ 
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFiltersGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFiltersGroupItemProvider.java
deleted file mode 100644
index d3809b1..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebFiltersGroupItemProvider.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WebFiltersGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebFiltersGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-	
-	/**
-	 * This returns Filter.gif.
-	 */
-	public Object getImage(Object object) {
-		return WebPlugin.getDefault().getImage("filter"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-	    List result = new ArrayList();
-	    Object webApp = weakWebApp.get();
-	    if(webApp != null){
-	    	result.addAll(((WebApp)webApp).getFilters());
-	    }
-		return getSortedChildren(result);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.IItemLabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Filters_1"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebGroupItemProvider.java
deleted file mode 100644
index 1a29568..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebGroupItemProvider.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 11, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jem.util.emf.workbench.WorkbenchResourceHelperBase;
-import org.eclipse.jst.j2ee.common.Listener;
-import org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider;
-import org.eclipse.jst.j2ee.webapplication.Filter;
-import org.eclipse.jst.j2ee.webapplication.Servlet;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-/**
- * @author jlanuti
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public abstract class WebGroupItemProvider extends J2EEItemProvider {
-
-	class WebGroupComparator implements Comparator {
-        public int compare(Object o1, Object o2) {
-            if (o1 instanceof Servlet) {
-                Servlet s1 = (Servlet)o1;
-                Servlet s2 = (Servlet)o2;
-                if (s1.getServletName() != null && s2.getServletName() != null)
-                	return s1.getServletName().compareTo(s2.getServletName());
-                return -1;
-            }
-            else if (o1 instanceof Filter) {
-                Filter f1 = (Filter) o1;
-                Filter f2 = (Filter) o2;
-                if (f1.getName() != null && f2.getName() != null)
-                	return f1.getName().compareTo(f2.getName());
-                return -1;
-            }
-            else if (o1 instanceof Listener) {
-                Listener l1 = (Listener) o1;
-                Listener l2 = (Listener) o2;
-                if (l1.getListenerClassName() != null && l2.getListenerClassName() !=null)
-                	return l1.getListenerClassName().compareTo(l2.getListenerClassName());
-                return -1;
-            }
-            else return -1;
-        }
-	}
-    
-    protected WeakReference weakWebApp;
-    
-    public WebGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory);
-		this.weakWebApp = weakWebApp;
-	}
-    
-    public Collection getSortedChildren(List theChildren) {
-		Collections.sort(theChildren, new WebGroupComparator());
-		return theChildren;
-    }
-
-	public void dispose() {
-		// TODO Auto-generated method stub
-		super.dispose();
-		weakWebApp = null;
-	}
-	
-
-	public IFile getAssociatedFile() {
-
-		try { 
-			WebApp webapp = (WebApp) weakWebApp.get();
-			if(webapp != null && webapp.eResource() != null) {
-				return WorkbenchResourceHelperBase.getIFile(webapp.eResource().getURI());
-			}
-		} catch (Throwable t) {
-			
-		}
-		return null;		
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebListenerGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebListenerGroupItemProvider.java
deleted file mode 100644
index d58e81f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebListenerGroupItemProvider.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jun 11, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jialin
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class WebListenerGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebListenerGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-	
-	/**
-	 * This returns Filter.gif.
-	 */
-	public Object getImage(Object object) {
-		return J2EEPlugin.getDefault().getImage("listener"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-	    List result = new ArrayList();
-	    Object webApp = weakWebApp.get();
-	    if(webApp != null){
-	    	result.addAll(((WebApp)webApp).getListeners());
-	    }
-	    return getSortedChildren(result);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.IItemLabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("LISTENER"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebReferencesGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebReferencesGroupItemProvider.java
deleted file mode 100644
index a5fcbbc..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebReferencesGroupItemProvider.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceExtManager;
-import org.eclipse.jst.j2ee.internal.webservices.WSDLServiceHelper;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WebReferencesGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebReferencesGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		Object obj = weakWebApp.get();
-		if (null != obj) {
-			WebApp webApp = (WebApp) obj;
-			if (!webApp.getEjbLocalRefs().isEmpty())
-				result.addAll(webApp.getEjbLocalRefs());
-			if (!webApp.getEjbRefs().isEmpty())
-				result.addAll(webApp.getEjbRefs());
-			if (!webApp.getResourceEnvRefs().isEmpty())
-				result.addAll(webApp.getResourceEnvRefs());
-			if (!webApp.getResourceRefs().isEmpty())
-				result.addAll(webApp.getResourceRefs());
-			if (!webApp.getMessageDestinationRefs().isEmpty())
-				result.addAll(webApp.getMessageDestinationRefs());
-			if (!webApp.getServiceRefs().isEmpty())
-				result.addAll(webApp.getServiceRefs());
-			Collection serviceRefs = null;
-			try {
-				WSDLServiceHelper serviceHelper = WSDLServiceExtManager.getServiceHelper();
-				serviceRefs = serviceHelper.get13ServiceRefs(webApp);
-			} catch (Exception re) {
-				serviceRefs = Collections.EMPTY_LIST;
-			}
-
-			if (serviceRefs != null && !serviceRefs.isEmpty())
-				result.addAll(serviceRefs);
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return J2EEPlugin.getDefault().getImage("resourceRef_obj"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("References_1"); //$NON-NLS-1$ 
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebSecurityGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebSecurityGroupItemProvider.java
deleted file mode 100644
index 9da0aad..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebSecurityGroupItemProvider.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WebSecurityGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebSecurityGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Security_1"); //$NON-NLS-1$ 
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		Object obj = weakWebApp.get();
-		if (null != obj) {
-			WebApp webApp = (WebApp) obj;
-			if (!webApp.getSecurityRoles().isEmpty())
-				result.addAll(webApp.getSecurityRoles());
-			if (!webApp.getConstraints().isEmpty())
-				result.addAll(webApp.getConstraints());
-		}
-		return result;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return J2EEPlugin.getPlugin().getImage("security_role");//$NON-NLS-1$
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletGroupItemProvider.java
deleted file mode 100644
index 471866e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletGroupItemProvider.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WebServletGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebServletGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		if (weakWebApp!=null) {
-			Object webApp = weakWebApp.get();
-			if(null != webApp){
-				result.addAll(((WebApp)webApp).getServlets());
-			}
-		}
-		return getSortedChildren(result);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return WebPlugin.getDefault().getImage("servlet"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Servlets_1"); //$NON-NLS-1$ 
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletMappingGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletMappingGroupItemProvider.java
deleted file mode 100644
index 536b0ac..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebServletMappingGroupItemProvider.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Jun 11, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-
-
-/**
- * @author jialin
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Style - Code Templates
- */
-public class WebServletMappingGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebServletMappingGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		Object webApp = weakWebApp.get();
-		if (null != webApp) {
-			return ((WebApp) webApp).getServletMappings();
-		}
-		return Collections.EMPTY_LIST;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return WebPlugin.getDefault().getImage("servlet_mapping"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Servlet_Mappings_2"); //$NON-NLS-1$ 
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebWelcomeFileGroupItemProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebWelcomeFileGroupItemProvider.java
deleted file mode 100644
index 204cca3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/war/ui/util/WebWelcomeFileGroupItemProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Created on Mar 29, 2004
- */
-package org.eclipse.jst.j2ee.internal.war.ui.util;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.jst.j2ee.internal.web.plugin.WebPlugin;
-import org.eclipse.jst.j2ee.internal.web.providers.WebAppEditResourceHandler;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.jst.j2ee.webapplication.WelcomeFileList;
-
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class WebWelcomeFileGroupItemProvider extends WebGroupItemProvider {
-
-	/**
-	 * @param adapterFactory
-	 */
-	public WebWelcomeFileGroupItemProvider(AdapterFactory adapterFactory, WeakReference weakWebApp) {
-		super(adapterFactory, weakWebApp);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getChildren(java.lang.Object)
-	 */
-	public Collection getChildren(Object object) {
-		List result = new ArrayList();
-		if (weakWebApp!=null) {
-			Object webApp = weakWebApp.get();
-			if (null != webApp) {
-			    WelcomeFileList fileList = ((WebApp)webApp).getFileList();
-			    if (fileList != null) {
-			        result.addAll(fileList.getFile());
-			    }
-			}
-		}
-		return result;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getImage()
-	 */
-	public Object getImage(Object object) {
-		return WebPlugin.getDefault().getImage("welcome_list"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ItemProvider#getText()
-	 */
-	public String getText(Object object) {
-		return WebAppEditResourceHandler.getString("Welcome_Pages_1"); //$NON-NLS-1$ 
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object object) {
-		return !getChildren(object).isEmpty();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.emf.edit.provider.ITreeItemContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object object) {
-		return weakWebApp.get();
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AnnotationsStandaloneGroup.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AnnotationsStandaloneGroup.java
deleted file mode 100644
index e977b50..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AnnotationsStandaloneGroup.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-/*
- * Created on Mar 29, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jst.j2ee.application.internal.operations.IAnnotationsDataModel;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper;
-
-/**
- * @author jlanuti
- * 
- * To change the template for this generated type comment go to Window - Preferences - Java - Code
- * Generation - Code and Comments
- */
-public class AnnotationsStandaloneGroup {
-
-	protected Object model;
-	protected Object synchHelper;
-	protected Button useAnnotations;
-	private boolean isForBean;
-	private boolean useServletString = false;
-	public static final String EJBTAGSET = "ejb"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 */
-	public AnnotationsStandaloneGroup(Composite parent, Object model, boolean forBean) {
-		this(parent, model, forBean, false);
-	}
-
-	/**
-	 * Constructor
-	 */
-	public AnnotationsStandaloneGroup(Composite parent, Object model, boolean forBean, boolean useServlet) {
-		super();
-		synchHelper = new DataModelSynchHelper((IDataModel)model);
-		this.model = model;
-		this.isForBean = forBean;
-		this.useServletString = useServlet;
-		
-		buildComposites(parent);
-	}
-
-	/**
-	 * @param parent
-	 */
-	protected void buildComposites(Composite parent) {
-		// Add separator
-		Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 3;
-		separator.setLayoutData(gd);
-		// Add spacer
-		Label spacer = new Label(parent, SWT.NONE);
-		GridData gd1 = new GridData(GridData.FILL_HORIZONTAL);
-		gd1.horizontalSpan = 3;
-		spacer.setLayoutData(gd1);
-		// Add annotations checkbox and label
-		useAnnotations = new Button(parent, SWT.CHECK);
-		String labelText;
-		if (useServletString)
-			labelText = J2EEUIMessages.getResourceString(J2EEUIMessages.USE_ANNOTATIONS_SERVLET);
-		else if (isForBean)
-			labelText = J2EEUIMessages.getResourceString(J2EEUIMessages.USE_ANNOTATIONS);
-		else
-			labelText = J2EEUIMessages.getResourceString(J2EEUIMessages.ADD_ANNOTATIONS_SUPPORT);
-		useAnnotations.setText(labelText);
-		((DataModelSynchHelper)synchHelper).synchCheckbox(useAnnotations, IAnnotationsDataModel.USE_ANNOTATIONS, null);
-		GridData gd2 = new GridData(GridData.FILL_HORIZONTAL);
-		gd2.horizontalSpan = 2;
-		useAnnotations.setLayoutData(gd2);
-	    Dialog.applyDialogFont(parent);
-	}
-
-	public void dispose() {
-		((IDataModel)model).removeListener((DataModelSynchHelper)synchHelper);
-		synchHelper = null;
-		model = null;
-	}
-
-	public void setEnablement(IProject project) {
-		//TODO Remove - this is to be handled by the provider of the DataModel.
-	}
-	
-	
-
-	public void setUseServlet(boolean aBoolean) {
-		useServletString = aBoolean;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentExportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentExportWizard.java
deleted file mode 100644
index 9fe83e2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentExportWizard.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jst.j2ee.application.internal.operations.AppClientComponentExportDataModelProvider;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-
-/**
- * <p>
- * Wizard used to export J2EE Application Client module structures from the Eclipse Workbench to a
- * deployable Application Client Archive *.jar file.
- * </p>
- */
-public final class AppClientComponentExportWizard extends J2EEArtifactExportWizard implements IExportWizard {
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public AppClientComponentExportWizard() {
-		super();
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public AppClientComponentExportWizard(IDataModel model) {
-		super(model);
-	}
-    protected IDataModelProvider getDefaultProvider() {
-        return new AppClientComponentExportDataModelProvider();
-    }
-
-	/**
-	 * <p>
-	 * Adds the following pages:
-	 * <ul>
-	 * <li>{@link AppClientExportPage}as the main wizard page ({@link #MAIN_PG})
-	 * </ul>
-	 * </p>
-	 */
-	public void doAddPages() {
-		addPage(new AppClientExportPage(getDataModel(), MAIN_PG, getSelection()));
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * <p>
-	 * Sets up the default wizard page image.
-	 * </p>
-	 */
-	protected void doInit() {
-		setDefaultPageImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.APP_CLIENT_EXPORT_WIZARD_BANNER));
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportPage.java
deleted file mode 100644
index e0c12c9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportPage.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class AppClientComponentImportPage extends J2EEModuleImportPage {
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public AppClientComponentImportPage(IDataModel model, String pageName) {
-		super(model, pageName);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_IMPORT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_IMPORT_MAIN_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.APP_CLIENT_IMPORT_WIZARD_BANNER));
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFileImportLabel()
-	 */
-	protected String getFileImportLabel() {
-		return J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_IMPORT_FILE_LABEL);
-	}
-
-	protected String getFileNamesStoreID() {
-		return "APP_CLIENT"; //$NON-NLS-1$;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFilterExpression()
-	 */
-	protected String[] getFilterExpression() {
-		return new String[]{"*.jar"}; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getProjectImportLabel()
-	 */
-	protected String getProjectImportLabel() {
-		return J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_IMPORT_PROJECT_LABEL);
-	}
-
-	// protected J2EEComponentCreationDataModel getNewProjectCreationDataModel() {
-	// return getAppClientDataModel().getJ2eeArtifactCreationDataModel();
-	// }
-	//
-	// private AppClientModuleImportDataModel getAppClientDataModel() {
-	// return (AppClientModuleImportDataModel) model;
-	//	}
-
-	protected Composite createTopLevelComposite(Composite parent) {
-		setInfopopID(IJ2EEUIContextIds.IMPORT_APPCLIENT_WIZARD_P1);
-		return super.createTopLevelComposite(parent);
-	}
-	
-	protected String getModuleFacetID(){
-		return J2EEProjectUtilities.APPLICATION_CLIENT;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportWizard.java
deleted file mode 100644
index 8ef52ce..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientComponentImportWizard.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jst.j2ee.applicationclient.internal.creation.AppClientComponentImportDataModelProvider;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.project.facet.IProductConstants;
-import org.eclipse.wst.project.facet.ProductManager;
-
-/**
- * <p>
- * Wizard used to import J2EE Application Client module structures into the Eclipse Workbench from
- * an existing Application Client *.jar file.
- * </p>
- */
-public final class AppClientComponentImportWizard extends J2EEComponentImportWizard {
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public AppClientComponentImportWizard() {
-		super();
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public AppClientComponentImportWizard(IDataModel model) {
-		super(model);
-	}
-
-	/**
-	 * <p>
-	 * Adds an {@link AppClientImportPage}as the main wizard page ({@link #MAIN_PG}).
-	 * </p>
-	 */
-	public void doAddPages() {
-		addPage(new AppClientComponentImportPage(getDataModel(), MAIN_PG));
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * <p>
-	 * Sets up the dialog window title and default wizard page image.
-	 * </p>
-	 */
-	public final void doInit() {
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.IMPORT_WIZ_TITLE));
-		setDefaultPageImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.APP_CLIENT_IMPORT_WIZARD_BANNER));
-	}
-
-	protected String[] getModuleValidatorStrings() {
-		return new String[]{"org.eclipse.jst.j2ee.internal.validation.UIApplicationClientValidator"}; //$NON-NLS-1$
-	}
-
-	protected IDataModelProvider getDefaultProvider() {
-		return new AppClientComponentImportDataModelProvider();
-	}
-
-	protected String getFinalPerspectiveID() {
-		return ProductManager.getProperty(IProductConstants.FINAL_PERSPECTIVE_APPCLIENT);
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientExportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientExportPage.java
deleted file mode 100644
index bfc6a0e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AppClientExportPage.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 3, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class AppClientExportPage extends J2EEModuleExportPage {
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public AppClientExportPage(IDataModel model, String pageName, IStructuredSelection selection) {
-		super(model, pageName, selection);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_EXPORT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_EXPORT_MAIN_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.APP_CLIENT_EXPORT_WIZARD_BANNER));
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getProjectImportLabel()
-	 */
-	protected String getComponentLabel() {
-		return J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_IMPORT_PROJECT_LABEL);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFilterExpression()
-	 */
-	protected String[] getFilterExpression() {
-		return new String[]{"*.jar"}; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEExportPage#isMetaTypeSupported(java.lang.Object)
-	 */
-	protected boolean isMetaTypeSupported(Object o) {
-		return o instanceof ApplicationClient;
-	}
-
-	protected String getInfopopID() {
-		return IJ2EEUIContextIds.EXPORT_APPCLIENT_WIZARD_P1;
-	}
-	
-    protected String getCompnentID() {
-        return "JST_APPCLIENT"; //$NON-NLS-1$
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableJarsProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableJarsProvider.java
deleted file mode 100644
index 3bad7b0..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableJarsProvider.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.j2ee.application.internal.operations.ClassPathSelection;
-import org.eclipse.jst.j2ee.application.internal.operations.ClasspathElement;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.frameworks.internal.ui.OverlayIcon;
-
-
-public class AvailableJarsProvider implements org.eclipse.jface.viewers.IStructuredContentProvider, org.eclipse.jface.viewers.ITableLabelProvider {
-	protected static Image utilImage;
-	protected static Image invalidImage;
-	protected static Image ejbImage;
-	protected static Image ejbClientImage;
-	protected static Image classpathImage;
-
-	/**
-	 * AvailableJarsContentProvider constructor comment.
-	 */
-	public AvailableJarsProvider() {
-		super();
-	}
-
-	/**
-	 * Adds a listener to this label provider. Has no effect if an identical listener is already
-	 * registered.
-	 * <p>
-	 * Label provider listeners are informed about state changes that affect the rendering of the
-	 * viewer that uses this label provider.
-	 * </p>
-	 * 
-	 * @param listener
-	 *            a label provider listener
-	 */
-	public void addListener(org.eclipse.jface.viewers.ILabelProviderListener listener) {
-		//do nothing
-	}
-
-	/**
-	 * Disposes of this label provider. When a label provider is attached to a viewer, the viewer
-	 * will automatically call this method when the viewer is being closed. When label providers are
-	 * used outside of the context of a viewer, it is the client's responsibility to ensure that
-	 * this method is called when the provider is no longer needed.
-	 */
-	public void dispose() {
-		//dispose
-	}
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 * 
-	 * @param element
-	 *            the object representing the entire row, or <code>null</code> indicating that no
-	 *            input object is set in the viewer
-	 * @param columnIndex
-	 *            the zero-based index of the column in which the label appears
-	 */
-	public org.eclipse.swt.graphics.Image getColumnImage(Object element, int columnIndex) {
-		if (columnIndex > 0)
-			return null;
-		ClasspathElement cp = (ClasspathElement) element;
-		if (!cp.isValid())
-			return getInvalidImage();
-		
-		if (cp.isClasspathEntry()) {
-			return getClasspathDependencyImage();
-		}
-		
-		switch (cp.getJarType()) {
-			case ClasspathElement.EJB_JAR :
-				return getEjbImage();
-			case ClasspathElement.EJB_CLIENT_JAR :
-				return getEjbClientImage();
-			default :
-				return getUtilImage();
-		}
-	}
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 * 
-	 * @param element
-	 *            the object representing the entire row, or <code>null</code> indicating that no
-	 *            input object is set in the viewer
-	 * @param columnIndex
-	 *            the zero-based index of the column in which the label appears
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		String value = null;
-		switch (columnIndex) {
-			case 0 : {
-				value = ((ClasspathElement) element).getText();
-				break;
-			}
-			case 1 :
-				value = ((ClasspathElement) element).getProjectName();
-		}
-		return value == null ? "" : value;//$NON-NLS-1$
-	}
-
-	protected static Image getEjbImage() {
-		if (ejbImage == null)
-			ejbImage = getImageDescriptor("EJBJar").createImage();//$NON-NLS-1$
-		return ejbImage;
-	}
-
-	protected static Image getEjbClientImage() {
-		if (ejbClientImage == null)
-			ejbClientImage = getImageDescriptor("ejbclientjar_obj").createImage();//$NON-NLS-1$
-		return ejbClientImage;
-	}
-	
-	protected static Image getClasspathDependencyImage() {
-		if (classpathImage == null)
-			classpathImage = getImageDescriptor("CPDep").createImage();//$NON-NLS-1$
-		return classpathImage;
-	}
-
-	/**
-	 * Returns the elements to display in the viewer when its input is set to the given element.
-	 * These elements can be presented as rows in a table, items in a list, etc. The result is not
-	 * modified by the viewer.
-	 * 
-	 * @param inputElement
-	 *            the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public java.lang.Object[] getElements(Object inputElement) {
-		ClassPathSelection selection = (ClassPathSelection) inputElement;
-		return filter(selection, selection.getFilterLevel()).toArray();
-	}
-
-	/**
-	 * @param list
-	 */
-	private List filter(ClassPathSelection selection, int filterLevel) {
-		List list = selection.getClasspathElements();
-		List result = new ArrayList(list.size());
-		for (int i = 0; i < list.size(); i++) {
-			ClasspathElement element = (ClasspathElement) list.get(i);
-			if (!element.isSelected()) {
-				switch (filterLevel) {
-					case (ClassPathSelection.FILTER_EJB_CLIENT_JARS) :
-						if (element.isEJBClientJar())
-							continue;
-						break;
-					case (ClassPathSelection.FILTER_EJB_SERVER_JARS) :
-						if (element.isEJBJar() && selection.getOppositeElement(element) != null)
-							continue;
-				}
-			}
-			result.add(element);
-		}
-		return result;
-	}
-
-	/**
-	 * This gets a .gif from the icons folder.
-	 */
-	protected static ImageDescriptor getImageDescriptor(String key) {
-		ImageDescriptor imageDescriptor = null;
-
-		URL gifImageURL = (URL) J2EEPlugin.getPlugin().getImage(key);
-		imageDescriptor = ImageDescriptor.createFromURL(gifImageURL);
-		return imageDescriptor;
-	}
-
-	protected static Image getInvalidImage() {
-		if (invalidImage == null) {
-			ImageDescriptor base = getImageDescriptor("jar_nonexist_obj");//$NON-NLS-1$
-			ImageDescriptor overlay = getImageDescriptor("warning_co");//$NON-NLS-1$
-			invalidImage = new OverlayIcon(base, new ImageDescriptor[][]{{overlay}}).createImage();
-		}
-		return invalidImage;
-	}
-
-	public static Image getUtilImage() {
-		if (utilImage == null)
-			utilImage = getImageDescriptor("jar_obj").createImage();//$NON-NLS-1$
-		return utilImage;
-	}
-
-	/**
-	 * Notifies this content provider that the given viewer's input has been switched to a different
-	 * element.
-	 * <p>
-	 * A typical use for this method is registering the content provider as a listener to changes on
-	 * the new input (using model-specific means), and deregistering the viewer from the old input.
-	 * In response to these change notifications, the content provider propagates the changes to the
-	 * viewer.
-	 * </p>
-	 * 
-	 * @param viewer
-	 *            the viewer
-	 * @param oldInput
-	 *            the old input element, or <code>null</code> if the viewer did not previously
-	 *            have an input
-	 * @param newInput
-	 *            the new input element, or <code>null</code> if the viewer does not have an input
-	 */
-	public void inputChanged(org.eclipse.jface.viewers.Viewer viewer, Object oldInput, Object newInput) {
-		//do nothing
-	}
-
-	/**
-	 * Returns whether the label would be affected by a change to the given property of the given
-	 * element. This can be used to optimize a non-structural viewer update. If the property
-	 * mentioned in the update does not affect the label, then the viewer need not update the label.
-	 * 
-	 * @param element
-	 *            the element
-	 * @param property
-	 *            the property
-	 * @return <code>true</code> if the label would be affected, and <code>false</code> if it
-	 *         would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/**
-	 * Removes a listener to this label provider. Has no affect if an identical listener is not
-	 * registered.
-	 * 
-	 * @param listener
-	 *            a label provider listener
-	 */
-	public void removeListener(org.eclipse.jface.viewers.ILabelProviderListener listener) {
-		//do nothing
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilJarsAndWebLibProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilJarsAndWebLibProvider.java
deleted file mode 100644
index e01a7d7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilJarsAndWebLibProvider.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 22, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
-import org.eclipse.jst.j2ee.internal.archive.ArchiveWrapper;
-import org.eclipse.swt.graphics.Image;
-
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class AvailableUtilJarsAndWebLibProvider implements IStructuredContentProvider, ITableLabelProvider {
-
-	public AvailableUtilJarsAndWebLibProvider() {
-		//Default constructor
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		if(inputElement instanceof ArchiveWrapper){
-			ArchiveWrapper wrapper = (ArchiveWrapper)inputElement;
-			List <ArchiveWrapper> utilities = wrapper.getEARUtilitiesAndWebLibs();
-			List filteredProjects = new ArrayList();
-			if (utilities.size() > 0){
-				filterEJBClientJars(utilities, wrapper);
-				Object [] array = utilities.toArray();
-				Arrays.sort(array, new Comparator() {
-					public int compare(Object o1, Object o2) {
-						return getColumnText(o1, 0).compareTo(getColumnText(o2, 0));
-					}
-				});
-				return array;
-			}
-			else
-				return new Object[0];
-		}
-		return new Object[0];
-	}
-
-	/**
-	 * @param array
-	 * @return
-	 */
-	private void filterEJBClientJars(List <ArchiveWrapper> utilities, ArchiveWrapper earWrapper) {
-		List <ArchiveWrapper> modules = earWrapper.getEarModules();
-		for(ArchiveWrapper module : modules){
-			if(module.isEJBJarFile()){
-				ArchiveWrapper clientWrapper = earWrapper.getEJBClientArchiveWrapper(module);
-				if(null != clientWrapper){
-					boolean removed = false;
-					for(int i=0;i<utilities.size() && !removed; i++){
-						if(clientWrapper.getUnderLyingArchive() == utilities.get(i).getUnderLyingArchive()){
-							utilities.remove(i);
-							removed = true;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		return AvailableJarsProvider.getUtilImage();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		ArchiveWrapper wrapper = (ArchiveWrapper)element;
-		IPath path = wrapper.getPath();
-		if(path.toString().startsWith(ArchiveConstants.WEBAPP_LIB_URI)){
-			return wrapper.getParent().getName()+"#"+wrapper.getPath(); //$NON-NLS-1$
-		}
-		return wrapper.getName();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		//Auto-generated method stub
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-	 *      java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		//Auto-generated method stub
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		//Auto-generated method stub
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
-	 *      java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		//Auto-generated method stub
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilityJarsProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilityJarsProvider.java
deleted file mode 100644
index 4629cc7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/AvailableUtilityJarsProvider.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Apr 22, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEUtilityJarListImportDataModelProperties;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class AvailableUtilityJarsProvider implements IStructuredContentProvider, ITableLabelProvider {
-
-	public AvailableUtilityJarsProvider() {
-		//default constructor
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		/*
-		 * Object[] array = EARImportDataModel.getAllUtilities((EARFile) inputElement).toArray();
-		 */
-		Object[] array = getJarFilesFromDirectory(inputElement);
-		Arrays.sort(array, new Comparator() {
-
-			public int compare(Object o1, Object o2) {
-				return getColumnText(o1, 0).compareTo(getColumnText(o2, 0));
-			}
-
-		});
-		return array;
-	}
-
-	/**
-	 * @param inputElement
-	 * @return
-	 */
-	private Object[] getJarFilesFromDirectory(Object inputElement) {
-
-		List collectedJars = new ArrayList();
-		IDataModel model = null;
-		if (inputElement instanceof IDataModel)
-			model = (IDataModel) inputElement;
-		if (model != null) {
-
-			String fileName = model.getStringProperty(IJ2EEUtilityJarListImportDataModelProperties.AVAILABLE_JARS_DIRECTORY);
-			File directory = new File(fileName);
-			if (directory.exists() && directory.canRead() && directory.isDirectory()) {
-				File[] availableFiles = directory.listFiles();
-
-				if (availableFiles == null)
-					return new File[0];
-
-				for (int i = 0; i < availableFiles.length; i++)
-					if (availableFiles[i] != null && availableFiles[i].getName().endsWith(".jar"))collectedJars.add(availableFiles[i]); //$NON-NLS-1$
-			}
-		}
-		return collectedJars.toArray();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		return AvailableJarsProvider.getUtilImage();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		/*
-		 * FileImpl file = (FileImpl) element; if
-		 * (file.getURI().startsWith(ArchiveConstants.WEBAPP_LIB_URI)) { String parentWarFileName =
-		 * ((WARFile) file.eContainer()).getName(); return parentWarFileName + "#" + file.getURI();
-		 * //$NON-NLS-1$ } else return file.getName();
-		 */
-		return element.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		//dispose
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
-	 *      java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		//do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		//do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
-	 *      java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		//do nothing
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ClassesImportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ClassesImportWizard.java
deleted file mode 100644
index ac07f23..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ClassesImportWizard.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.ui.util.CoreUtility;
-import org.eclipse.jdt.internal.ui.wizards.buildpaths.CPListElement;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-
-public class ClassesImportWizard extends Wizard implements IImportWizard {
-
-	public WizardClassesImportMainPage mainPage = null;
-
-	public WizardClassesImportPage1 page1 = null;
-
-	private IWorkbench workbench;
-
-	private IStructuredSelection selection;
-
-	private IPath importedClassesPath;
-
-	private IJavaProject javaProject = null;
-
-	private IProject project = null;
-
-	protected ArrayList fileNames = null;
-
-	public ClassesImportWizard() {
-		super();
-	}
-
-	public ClassesImportWizard(IProject project) {
-		super();
-		this.project = project;
-
-	}
-
-	public ClassesImportWizard(IProject project, String fileName, List otherFileNames) {
-		this(project);
-		this.fileNames = new ArrayList();
-		this.fileNames.add(fileName);
-		int i = fileName.lastIndexOf(java.io.File.separatorChar);
-		String parentDir = fileName.substring(0, i);
-		if (otherFileNames != null)
-			for (int j = otherFileNames.size() - 1; j >= 0; j--) {
-				if (otherFileNames.get(j) != null) {
-					int k = ((String) otherFileNames.get(j)).lastIndexOf(java.io.File.separatorChar);
-					if (k == i && parentDir.equals(((String) otherFileNames.get(j)).substring(0, k))) {
-						fileNames.add(otherFileNames.remove(j));
-					}
-				}
-			}
-
-	}
-
-	public void setFolderPath(IPath path) {
-		importedClassesPath = path;
-	}
-
-	/**
-	 * @see org.eclipse.jface.wizard.IWizard#performFinish()
-	 */
-	public boolean performFinish() {
-		return page1.finish();
-	}
-
-	public void createImportedClassesFolder(IProject aProject) {
-		//Create imported_classes folder selected project
-		IContainer container = aProject;
-		IFolder folder = container.getFolder(new Path("imported_classes")); //$NON-NLS-1$
-		javaProject = getIJavaProject(aProject);
-
-		IPath importedFoldersClass = folder.getFullPath();
-
-		CPListElement entry = newCPLibraryElement(folder);
-		IClasspathEntry newEntry = entry.getClasspathEntry();
-
-		IResource res = entry.getResource();
-		if ((res instanceof IFolder) && !res.exists()) {
-			try {
-				CoreUtility.createFolder((IFolder) res, true, true, null);
-
-			} catch (CoreException e) {
-				//Ignore
-			}
-		}
-
-		try {
-			IClasspathEntry[] classpathEntries = javaProject.getRawClasspath();
-			IClasspathEntry[] newClasspath = new IClasspathEntry[classpathEntries.length + 1];
-
-			for (int i = 0; i < classpathEntries.length; i++) {
-				newClasspath[i] = classpathEntries[i];
-			}
-			newClasspath[classpathEntries.length] = newEntry;
-
-			javaProject.setRawClasspath(newClasspath, null);
-
-		} catch (JavaModelException e) {
-			//Ignore
-		}
-
-		setFolderPath(importedFoldersClass);
-	}
-
-	private IJavaProject getIJavaProject(IProject projectHandle) {
-		IJavaModel javaModel = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-		return javaModel.getJavaProject(projectHandle.getName());
-	}
-
-	private CPListElement newCPLibraryElement(IResource res) {
-
-		return new CPListElement(javaProject, IClasspathEntry.CPE_LIBRARY, res.getFullPath(), res);
-	}
-
-	/**
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
-	 */
-	public void init(IWorkbench aWorkbench, IStructuredSelection aSelection) {
-		setWindowTitle(J2EEUIMessages.getResourceString("Import_Class_Files_UI")); //$NON-NLS-1$
-		setDefaultPageImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor("import_class_file_wiz_ban")); //$NON-NLS-1$
-
-		workbench = aWorkbench;
-		selection = aSelection;
-		if (!aSelection.isEmpty() && aSelection.getFirstElement() instanceof IProject)
-			project = (IProject) aSelection.getFirstElement();
-
-		if (project != null)
-			createImportedClassesFolder(project);
-	}
-
-	public void addPages() {
-		try {
-			super.addPages();
-			mainPage = new WizardClassesImportMainPage("id", fileNames); //$NON-NLS-1$
-			mainPage.setWizard(this);
-			if (fileNames == null || fileNames.size() == 0)
-				addPage(mainPage);
-			page1 = new WizardClassesImportPage1(workbench, selection, importedClassesPath, fileNames);
-			page1.setWizard(this);
-			addPage(page1);
-		} catch (Throwable ex) {
-			ex.printStackTrace();
-		}
-
-
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/DefaultJ2EEComponentCreationWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/DefaultJ2EEComponentCreationWizard.java
deleted file mode 100644
index 1a31d8a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/DefaultJ2EEComponentCreationWizard.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 23, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jst.j2ee.internal.earcreation.DefaultJ2EEComponentCreationDataModelProvider;
-import org.eclipse.jst.j2ee.internal.earcreation.IDefaultJ2EEComponentCreationDataModelProperties;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard;
-
-public class DefaultJ2EEComponentCreationWizard extends DataModelWizard {
-	private static final String SELECTION_PG = "selection"; //$NON-NLS-1$
-
-	/**
-	 * @param model
-	 */
-	public DefaultJ2EEComponentCreationWizard(IDataModel model) {
-		super(model);
-		initialize();
-	}
-
-	/**
-	 *  
-	 */
-	public DefaultJ2EEComponentCreationWizard() {
-		super();
-		initialize();
-	}
-
-	/**
-	 *  
-	 */
-	private void initialize() {
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_WIZ_TITLE));
-		String iconPath = "icons/full/"; //$NON-NLS-1$
-		try {
-			URL installURL = IDEWorkbenchPlugin.getDefault().getDescriptor().getInstallURL();
-			URL url = new URL(installURL, iconPath + "wizban/new_wiz.png"); //$NON-NLS-1$
-			ImageDescriptor desc = ImageDescriptor.createFromURL(url);
-			setDefaultPageImageDescriptor(desc);
-		} catch (MalformedURLException e) {
-			// Should not happen. Ignore.
-		}
-		setNeedsProgressMonitor(true);
-		setForcePreviousAndNextButtons(true);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.wizard.Wizard#addPages()
-	 */
-	public void doAddPages() {
-		addPage(new NewJ2EEComponentSelectionPage(getDataModel(), SELECTION_PG));
-	}
-
-	public boolean canFinish() {
-		if (!super.canFinish()) {
-			return false;
-		}
-		return getDataModel().getBooleanProperty(IDefaultJ2EEComponentCreationDataModelProperties.ENABLED);
-	}
-
-    protected IDataModelProvider getDefaultProvider() {
-        return new DefaultJ2EEComponentCreationDataModelProvider();
-    }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportPage.java
deleted file mode 100644
index e6e2e7f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportPage.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 3, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentExportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class EARComponentExportPage extends J2EEExportPage {
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public EARComponentExportPage(IDataModel model, String pageName, IStructuredSelection selection) {
-		super(model, pageName, selection);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_EXPORT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_EXPORT_MAIN_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_EXPORT_WIZARD_BANNER));
-
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getProjectImportLabel()
-	 */
-	protected String getComponentLabel() {
-		return J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_PROJECT_FOR_MODULE_CREATION);
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFilterExpression()
-	 */
-	protected String[] getFilterExpression() {
-		return new String[]{"*.ear"}; //$NON-NLS-1$
-	}
-
-	/**
-	 * @return
-	 */
-	protected boolean shouldShowProjectFilesCheckbox() {
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEExportPage#isMetaTypeSupported(java.lang.Object)
-	 */
-	protected boolean isMetaTypeSupported(Object o) {
-		return o instanceof Application;
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IJ2EEComponentExportDataModelProperties.PROJECT_NAME, IJ2EEComponentExportDataModelProperties.ARCHIVE_DESTINATION, IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING};
-	}
-
-	protected String getInfopopID() {
-		return IJ2EEUIContextIds.EXPORT_EAR_WIZARD_P1;
-	}
-
-    protected String getCompnentID() {
-        return "JST_EAR";  //$NON-NLS-1$
-    }
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportWizard.java
deleted file mode 100644
index a9b2611..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentExportWizard.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jst.j2ee.application.internal.operations.EARComponentExportDataModelProvider;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.ui.IExportWizard;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-
-/**
- * <p>
- * Wizard used to export J2EE Enterprise Application structures from the Eclipse Workbench to a
- * deployable Enterprise Application Archive *.ear file.
- * </p>
- */
-public final class EARComponentExportWizard extends J2EEArtifactExportWizard implements IExportWizard {
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public EARComponentExportWizard() {
-		super();
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public EARComponentExportWizard(IDataModel model) {
-		super(model);
-	}
-
-    protected IDataModelProvider getDefaultProvider() {
-        return new EARComponentExportDataModelProvider();
-    }
-
-	/**
-	 * <p>
-	 * Adds the following pages:
-	 * <ul>
-	 * <li>{@link EARComponentExportPage}as the main wizard page ({@link #MAIN_PG})
-	 * </ul>
-	 * </p>
-	 */
-	public void doAddPages() {
-		addPage(new EARComponentExportPage(getDataModel(), MAIN_PG, getSelection()));
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * <p>
-	 * Sets up the default wizard page image.
-	 * </p>
-	 */
-	protected void doInit() {
-		setDefaultPageImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_EXPORT_WIZARD_BANNER));
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportOptionsPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportOptionsPage.java
deleted file mode 100644
index 57311d2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportOptionsPage.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 8, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jst.j2ee.datamodel.properties.IEARComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.archive.ArchiveWrapper;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class EARComponentImportOptionsPage extends DataModelWizardPage {
-	private Button deselectAllButton;
-	private Button selectAllButton;
-	private Label moduleProjectLocationLabel;
-	protected Button browseButton;
-	protected Button useAlternateRootBtn;
-	protected Text systemDefaultText;
-	protected ArchiveWrapper aWrapper;
-	public CheckboxTableViewer availableJARsViewer;
-	public boolean utilJarSelectionChanged = false;
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public EARComponentImportOptionsPage(IDataModel model, String pageName) {
-		super(model, pageName);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_MAIN_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		setInfopopID(IJ2EEUIContextIds.IMPORT_EAR_WIZARD_P2);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		createJARsComposite(composite);
-		createProjectRootComposite(composite);
-
-		return composite;
-	}
-
-	/*
-	 * Updates the enable state of the all buttons
-	 */
-	protected void updateButtonEnablements() {
-		utilJarSelectionChanged = true;
-	}
-
-	protected void createAvailableJarsList(Composite listGroup) {
-		availableJARsViewer = CheckboxTableViewer.newCheckList(listGroup, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		GridData gData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		gData.widthHint = 200;
-		gData.heightHint = 80;
-		availableJARsViewer.getControl().setLayoutData(gData);
-		AvailableUtilJarsAndWebLibProvider availableUtilJARsProvider = new AvailableUtilJarsAndWebLibProvider();
-		availableJARsViewer.setContentProvider(availableUtilJARsProvider);
-		availableJARsViewer.setLabelProvider(availableUtilJARsProvider);
-		availableJARsViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				availableJARCheckStateChanged(event);
-			}
-		});
-		availableJARsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtonEnablements();
-			}
-		});
-		TableLayout tableLayout = new TableLayout();
-		availableJARsViewer.getTable().setLayout(tableLayout);
-		availableJARsViewer.getTable().setHeaderVisible(false);
-		availableJARsViewer.getTable().setLinesVisible(false);
-
-		model.addListener(new IDataModelListener() {
-			public void propertyChanged(DataModelEvent event) {
-				if (event.getPropertyName().equals(IEARComponentImportDataModelProperties.UTILITY_LIST)) {
-					availableJARsViewer.setCheckedElements(((List) model.getProperty(IEARComponentImportDataModelProperties.UTILITY_LIST)).toArray());
-				}
-			}
-		});
-	}
-
-	private void handleDeselectAllButtonPressed() {
-		ArrayList emptySelection = new ArrayList(2);
-		model.setProperty(IEARComponentImportDataModelProperties.UTILITY_LIST, emptySelection);
-		validatePage();
-	}
-
-	private void handleSelectAllButtonPressed() {
-		ArrayList allSelection = new ArrayList(2);
-		Object selection = null;
-		for (int i = 0; (null != (selection = availableJARsViewer.getElementAt(i))); i++) {
-			allSelection.add(selection);
-		}
-		model.setProperty(IEARComponentImportDataModelProperties.UTILITY_LIST, allSelection);
-		validatePage();
-	}
-
-	/**
-	 * Open an appropriate directory browser
-	 */
-	protected void handleBrowseButtonPressed() {
-		DirectoryDialog dialog = new DirectoryDialog(browseButton.getShell());
-		dialog.setMessage(J2EEUIMessages.getResourceString(J2EEUIMessages.SELECT_DIRECTORY_DLG));
-
-		String dirName = getBrowseStartLocation();
-
-		if (!isNullOrEmpty(dirName)) {
-			File path = new File(dirName);
-			if (path.exists())
-				dialog.setFilterPath(dirName);
-		}
-
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null)
-			systemDefaultText.setText(selectedDirectory);
-
-	}
-
-	protected String getBrowseStartLocation() {
-		String text = systemDefaultText.getText();
-		return text;
-	}
-
-	protected void createButtonsGroup(Composite parent) {
-		Composite buttonGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		buttonGroup.setLayout(layout);
-		buttonGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		selectAllButton = new Button(buttonGroup, SWT.PUSH);
-		selectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_SELECT_ALL_UTIL_BUTTON));
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		gd.widthHint = 140;
-		selectAllButton.setLayoutData(gd);
-		selectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleSelectAllButtonPressed();
-			}
-		});
-
-		deselectAllButton = new Button(buttonGroup, SWT.PUSH);
-		deselectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_DESELECT_ALL_UTIL_BUTTON));
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		gd.widthHint = 140;
-		deselectAllButton.setLayoutData(gd);
-		deselectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleDeselectAllButtonPressed();
-			}
-		});
-	}
-
-	protected void createJARsComposite(Composite parent) {
-		Group group = new Group(parent, SWT.NULL);
-		group.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_JARS_GROUP));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label description = new Label(group, SWT.NULL);
-		description.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_SELECT_UTIL_JARS_TO_BE_PROJECTS));
-		GridData gd2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd2.horizontalSpan = 3;
-		description.setLayoutData(gd2);
-
-		// create jars check box viewer
-		createAvailableJarsList(group);
-		createButtonsGroup(group);
-	}
-
-	protected void createProjectRootComposite(Composite parent) {
-		Group group = new Group(parent, SWT.NULL);
-		group.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.PROJECT_LOCATIONS_GROUP));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label description = new Label(group, SWT.NULL);
-		description.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.NEW_PROJECT_GROUP_DESCRIPTION));
-		GridData gd2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd2.horizontalSpan = 3;
-		description.setLayoutData(gd2);
-
-		moduleProjectLocationLabel = new Label(group, SWT.NULL);
-		moduleProjectLocationLabel.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.USE_DEFAULT_ROOT_RADIO));
-		moduleProjectLocationLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		systemDefaultText = new Text(group, SWT.READ_ONLY | SWT.WRAP | SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		systemDefaultText.setLayoutData(gd);
-		synchHelper.synchText(systemDefaultText, IEARComponentImportDataModelProperties.NESTED_MODULE_ROOT, null);
-
-		browseButton = new Button(group, SWT.PUSH);
-		browseButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.BROWSE_LABEL));
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		browseButton.setLayoutData(gd);
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleBrowseButtonPressed();
-			}
-		});
-	}
-
-	private void refreshEARFileIfNecessary() {
-		if (isEARFileChanged()) {
-			aWrapper = (ArchiveWrapper) model.getProperty(IJ2EEComponentImportDataModelProperties.ARCHIVE_WRAPPER);
-			refresh();
-		}
-	}
-
-	protected void setJARsCompositeEnabled(boolean enabled) {
-		availableJARsViewer.getTable().setEnabled(enabled);
-		availableJARsViewer.setAllChecked(false);
-		availableJARsViewer.setAllGrayed(!enabled);
-		selectAllButton.setEnabled(enabled);
-		deselectAllButton.setEnabled(enabled);
-	}
-
-	private void refresh() {
-		availableJARsViewer.setInput(aWrapper);
-	}
-
-	public boolean isEARFileChanged() {
-		return aWrapper != model.getProperty(IJ2EEComponentImportDataModelProperties.ARCHIVE_WRAPPER);
-	}
-
-	protected void enter() {
-		super.enter();
-		refreshEARFileIfNecessary();
-	}
-
-	public void availableJARCheckStateChanged(CheckStateChangedEvent event) {
-		model.setProperty(IEARComponentImportDataModelProperties.UTILITY_LIST, getJARsForProjects());
-		validatePage();
-	}
-
-	public List getJARsForProjects() {
-		refreshEARFileIfNecessary();
-		List result = new ArrayList();
-		result.addAll(Arrays.asList(availableJARsViewer.getCheckedElements()));
-		return result;
-	}
-
-	protected boolean isNullOrEmpty(String aString) {
-		return aString == null || aString.length() == 0;
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{};
-	}
-
-	protected void restoreWidgetValues() {
-		// This page doesn't implement...
-	}
-
-	public void storeDefaultSettings() {
-		// This page doesn't implement...
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportPage.java
deleted file mode 100644
index a13d1b1..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportPage.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-/*
- * Created on Dec 8, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jst.j2ee.application.internal.operations.EARComponentImportDataModelProvider;
-import org.eclipse.jst.j2ee.application.internal.operations.IAnnotationsDataModel;
-import org.eclipse.jst.j2ee.application.internal.operations.J2EEArtifactImportDataModelProvider;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class EARComponentImportPage extends J2EEImportPage {
-	protected Combo serverTargetCombo;
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public EARComponentImportPage(IDataModel dataModel, String pageName) {
-		super(dataModel, pageName);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_MAIN_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		setInfopopID(IJ2EEUIContextIds.IMPORT_EAR_WIZARD_P1);
-		GridLayout layout = new GridLayout(3, false);
-		composite.setLayout(layout);
-		createFileNameComposite(composite);
-		createProjectNameComposite(composite);
-		createAnnotationsStandaloneGroup(composite);
-		restoreWidgetValues();
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	protected String getProjectImportLabel() {
-		return J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_PROJECT_LABEL);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFileImportLabel()
-	 */
-	protected String getFileImportLabel() {
-		return J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_FILE_LABEL);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFilterExpression()
-	 */
-	protected String[] getFilterExpression() {
-		return new String[]{"*.ear"}; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEModuleImportPage#createAnnotationsStandaloneGroup(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createAnnotationsStandaloneGroup(Composite composite) {
-		// new AnnotationsStandaloneGroup(composite, model, false);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#getValidationPropertyNames()
-	 */
-	
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IJ2EEComponentImportDataModelProperties.FILE_NAME,
-					IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME,
-					EARComponentImportDataModelProvider.EAR_NAME_VALIDATION,
-					IFacetProjectCreationDataModelProperties.FACET_RUNTIME,
-					IAnnotationsDataModel.USE_ANNOTATIONS,
-					J2EEArtifactImportDataModelProvider.FACET_RUNTIME};
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFileNamesStoreID()
-	 */
-	protected String getFileNamesStoreID() {
-		return "EAR";//$NON-NLS-1$
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportWizard.java
deleted file mode 100644
index ee5c896..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentImportWizard.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.jst.j2ee.application.internal.operations.EARComponentImportDataModelProvider;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.project.facet.IProductConstants;
-import org.eclipse.wst.project.facet.ProductManager;
-
-/**
- * <p>
- * Wizard used to import J2EE Application structures into the Eclipse Workbench from an existing
- * Enterprise Application Archive *.ear file.
- * </p>
- */
-public final class EARComponentImportWizard extends J2EEArtifactImportWizard implements IExecutableExtension, IImportWizard {
-
-	/**
-	 * <p>
-	 * Constant used to identify the key of the Projects page of the Wizard.
-	 * </p>
-	 */
-	protected static final String PROJECT_PG = "projects"; //$NON-NLS-1$
-
-	/**
-	 * <p>
-	 * Constant used to identify the key of the Options page of the Wizard.
-	 * </p>
-	 */
-	protected static final String OPTIONS_PG = "options"; //$NON-NLS-1$	
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public EARComponentImportWizard() {
-		super();
-		setWindowTitle(J2EEUIMessages.getResourceString("38")); //$NON-NLS-1$
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public EARComponentImportWizard(IDataModel model) {
-		super(model);
-		setWindowTitle(J2EEUIMessages.getResourceString("38")); //$NON-NLS-1$
-	}
-
-	/**
-	 * <p>
-	 * Adds the following pages:
-	 * <ul>
-	 * <li>{@link EARComponentImportPage}as the main wizard page ({@link #MAIN_PG})
-	 * <li>{@link EARComponentImportOptionsPage}as the options wizard page ({@link #OPTIONS_PG})
-	 * <li>{@link EARComponentProjectsPage}as the project wizard page ({@link #PROJECT_PG})
-	 * </ul>
-	 * 
-	 * </p>
-	 */
-	public void doAddPages() {
-		addPage(new EARComponentImportPage(getDataModel(), MAIN_PG));
-		addPage(new EARComponentImportOptionsPage(getDataModel(), OPTIONS_PG));
-		addPage(new EARComponentProjectsPage(getDataModel(), PROJECT_PG));
-	}
-
-
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * <p>
-	 * Sets up the dialog window title and default wizard page image.
-	 * </p>
-	 */
-	protected void doInit() {
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.IMPORT_WIZ_TITLE));
-		setDefaultPageImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-		
-	}
-
-	protected IDataModelProvider getDefaultProvider() {
-		return new EARComponentImportDataModelProvider();
-	}
-	
-	protected String getFinalPerspectiveID() {
-        return ProductManager.getProperty(IProductConstants.FINAL_PERSPECTIVE_EAR);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentProjectsPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentProjectsPage.java
deleted file mode 100644
index 805a3e5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARComponentProjectsPage.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 8, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jst.j2ee.application.internal.operations.EARComponentImportDataModelProvider;
-import org.eclipse.jst.j2ee.datamodel.properties.IEARComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class EARComponentProjectsPage extends DataModelWizardPage {
-
-	private CheckboxTableViewer earFileListViewer;
-
-	public static final String INCLUDE_COLUMN = J2EEUIMessages.getResourceString("EARImportProjectsPage_UI_0"); //$NON-NLS-1$
-	public static final String FILE_COLUMN = J2EEUIMessages.getResourceString("EARImportProjectsPage_UI_1"); //$NON-NLS-1$
-	public static final String PROJECT_COLUMN = J2EEUIMessages.getResourceString("EARImportProjectsPage_UI_2"); //$NON-NLS-1$
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public EARComponentProjectsPage(IDataModel model, String pageName) {
-		super(model, pageName);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_PROJECT_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_PROJECT_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-	}
-
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		setInfopopID(IJ2EEUIContextIds.IMPORT_EAR_WIZARD_P3);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		createListGroup(composite);
-		createButtonsGroup(composite);
-
-		return composite;
-	}
-
-	protected void setColumnEditors() {
-		Table t = earFileListViewer.getTable();
-		CellEditor[] columnEditors = new CellEditor[t.getColumnCount()];
-		columnEditors[1] = new TextCellEditor(t);
-
-		earFileListViewer.setCellEditors(columnEditors);
-	}
-
-	protected void createButtonsGroup(Composite parent) {
-		Composite buttonGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		buttonGroup.setLayout(layout);
-		buttonGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Button selectNotInWorkspace = new Button(buttonGroup, SWT.PUSH);
-		selectNotInWorkspace.setText(J2EEUIMessages.getResourceString("EARImportProjectsPage_UI_3")); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		//gd.horizontalSpan = 1;
-		//gd.heightHint = 22;
-		gd.widthHint = 140;
-		selectNotInWorkspace.setLayoutData(gd);
-		selectNotInWorkspace.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				List list = (List) model.getProperty(IEARComponentImportDataModelProperties.ALL_PROJECT_MODELS_LIST);
-				List selectedList = (List) model.getProperty(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST);
-				List newList = new ArrayList();
-				newList.addAll(selectedList);
-				IDataModel importDM = null;
-				for (int i = 0; i < list.size(); i++) {
-					importDM = (IDataModel) list.get(i);
-					if (!newList.contains(importDM) && !((IVirtualComponent) importDM.getProperty(IJ2EEComponentImportDataModelProperties.COMPONENT)).exists()) {
-						newList.add(importDM);
-					}
-				}
-				model.setProperty(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST, newList);
-			}
-		});
-
-		Button selectAllButton = new Button(buttonGroup, SWT.PUSH);
-		selectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_SELECT_ALL_UTIL_BUTTON));
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		//gd.horizontalSpan = 1;
-		//gd.heightHint = 22;
-		gd.widthHint = 140;
-		selectAllButton.setLayoutData(gd);
-		selectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				List list = (List) model.getProperty(IEARComponentImportDataModelProperties.ALL_PROJECT_MODELS_LIST);
-				List newList = new ArrayList();
-				newList.addAll(list);
-				model.setProperty(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST, newList);
-			}
-		});
-
-		Button deselectAllButton = new Button(buttonGroup, SWT.PUSH);
-		deselectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_DESELECT_ALL_UTIL_BUTTON));
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		////gd.horizontalSpan = 1;
-		//gd.heightHint = 22;
-		gd.widthHint = 140;
-		deselectAllButton.setLayoutData(gd);
-		deselectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				List newList = new ArrayList();
-				model.setProperty(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST, newList);
-			}
-		});
-	}
-
-	public void propertyChanged(DataModelEvent event) {
-		if (event.getPropertyName().equals(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST)) {
-			if(earFileListViewer != null){
-				updateGUICheckSelection();
-			}
-		}
-		super.propertyChanged(event);
-	}
-
-	public void setFileListViewerInput() {
-		TableObjects files = new TableObjects();
-		Iterator iterator = ((List) model.getProperty(IEARComponentImportDataModelProperties.ALL_PROJECT_MODELS_LIST)).iterator();
-		while (iterator.hasNext()) {
-			files.tableObjectsList.add(iterator.next());
-		}
-		earFileListViewer.setInput(files);
-		updateGUICheckSelection();
-	}
-
-	private void updateGUICheckSelection() {
-		List selectedList = (List) model.getProperty(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST);
-		List projectList = (List) model.getProperty(IEARComponentImportDataModelProperties.ALL_PROJECT_MODELS_LIST);
-		Object currentElement = null;
-		for (int i = 0; i < projectList.size(); i++) {
-			currentElement = projectList.get(i);
-			earFileListViewer.setChecked(currentElement, selectedList.contains(currentElement));
-		}
-	}
-
-	/**
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.wizard.J2EEWizardPage#enter()
-	 */
-	protected void enter() {
-		super.enter();
-		setFileListViewerInput();
-		validatePage();
-	}
-
-	/**
-	 * Creates the import source specification widgets. <b>Subclasses </b> must override this hook
-	 * method.
-	 * 
-	 * @param parent
-	 *            a <code>Composite</code> that is to be used as the parent of this group's
-	 *            collection of visual components
-	 * @see org.eclipse.swt.widgets.Composite
-	 */
-	protected void createListGroup(org.eclipse.swt.widgets.Composite parent) {
-		Composite listGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		listGroup.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		listGroup.setLayoutData(gd);
-
-		earFileListViewer = CheckboxTableViewer.newCheckList(listGroup, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
-		EARImportListContentProvider provider = new EARImportListContentProvider();
-		earFileListViewer.setContentProvider(provider);
-		earFileListViewer.setLabelProvider(provider);
-		earFileListViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				IDataModel matchingModel = null;// getEARImportDataModel().getMatchingEJBJarOrClient(aModel);
-				if (null != matchingModel) {
-					earFileListViewer.setChecked(matchingModel, event.getChecked());
-				}
-				List result = new ArrayList();
-				result.addAll(Arrays.asList(earFileListViewer.getCheckedElements()));
-				model.setProperty(IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST, result);
-
-			}
-		});
-
-		Table earFileListTable = (Table) earFileListViewer.getControl();
-		earFileListTable.setHeaderVisible(true);
-		earFileListTable.setLinesVisible(true);
-		// set up table layout
-		TableLayout tableLayout = new org.eclipse.jface.viewers.TableLayout();
-		tableLayout.addColumnData(new ColumnWeightData(100, true));
-		tableLayout.addColumnData(new ColumnWeightData(200, true));
-		earFileListTable.setLayout(tableLayout);
-
-		gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		gd.widthHint = 400;
-		earFileListTable.setLayoutData(gd);
-
-
-		TableColumn fileNameColumns = new TableColumn(earFileListTable, SWT.NONE);
-		fileNameColumns.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_Modules_in_EAR)); //$NON-NLS-1$ = "Modules in EAR"
-		fileNameColumns.setResizable(true);
-
-		TableColumn importNameColumn = new TableColumn(earFileListTable, SWT.NONE);
-		importNameColumn.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_New_Project_Name)); //$NON-NLS-1$ = "New Project Name"
-		importNameColumn.setResizable(true);
-
-		String[] columnProperties = new String[2];
-		columnProperties[0] = FILE_COLUMN;
-		columnProperties[1] = PROJECT_COLUMN;
-		earFileListViewer.setColumnProperties(columnProperties);
-
-		setColumnEditors();
-		earFileListViewer.setCellModifier(new ICellModifier() {
-			public boolean canModify(Object element, String property) {
-				return PROJECT_COLUMN.equals(property);
-			}
-
-			public Object getValue(Object element, String property) {
-				TableItem[] items = earFileListViewer.getTable().getSelection();
-				TableItem item = items[0];
-				return item.getText(1);
-			}
-
-			public void modify(Object element, String property, Object value) {
-				TableItem elementHolder = (TableItem) element;
-				if (property.equals(PROJECT_COLUMN)) {
-					elementHolder.setText(1, (String) value);
-					((IDataModel) elementHolder.getData()).setProperty(IJ2EEComponentImportDataModelProperties.PROJECT_NAME, value);
-				}
-			}
-		});
-	}
-
-
-	protected void restoreWidgetValues() {
-		// This page doesn't implement...
-	}
-
-	public void storeDefaultSettings() {
-		// This page doesn't implement...
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IEARComponentImportDataModelProperties.SELECTED_MODELS_LIST, EARComponentImportDataModelProvider.NESTED_PROJECTS_VALIDATION};
-	}
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARImportListContentProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARImportListContentProvider.java
deleted file mode 100644
index ae65f5c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARImportListContentProvider.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.archive.ArchiveWrapper;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-
-
-/**
- * Insert the type's description here. Creation date: (5/7/2001 11:39:11 AM)
- * 
- * @author: Administrator
- */
-public class EARImportListContentProvider extends LabelProvider implements IStructuredContentProvider, ITableLabelProvider {
-	/**
-	 * EARImportListContentProvider constructor comment.
-	 */
-	public EARImportListContentProvider() {
-		super();
-	}
-
-	/**
-	 * Returns the elements to display in the viewer when its input is set to the given element.
-	 * These elements can be presented as rows in a table, items in a list, etc. The result is not
-	 * modified by the viewer.
-	 * 
-	 * @param inputElement
-	 *            the input element
-	 * @return the array of elements to display in the viewer
-	 */
-	public java.lang.Object[] getElements(Object inputElement) {
-		if (inputElement instanceof TableObjects) {
-			Object[] array = ((TableObjects) inputElement).getTableObjects().toArray();
-			Arrays.sort(array, new Comparator() {
-				public int compare(Object o1, Object o2) {
-					return getColumnText(o1, 0).compareTo(getColumnText(o2, 0));
-				}
-			});
-			return array;
-		}
-		return new Object[0]; // should throw exception instead
-	}
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 * 
-	 * @param element
-	 *            the object representing the entire row, or <code>null</code> indicating that no
-	 *            input object is set in the viewer
-	 * @param columnIndex
-	 *            the zero-based index of the column in which the label appears
-	 */
-	public org.eclipse.swt.graphics.Image getColumnImage(Object element, int columnIndex) {
-		return null;
-	}
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 * 
-	 * @param element
-	 *            the object representing the entire row, or <code>null</code> indicating that no
-	 *            input object is set in the viewer
-	 * @param columnIndex
-	 *            the zero-based index of the column in which the label appears
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		IDataModel dataModel = (IDataModel) element;
-		if (columnIndex == 0) {
-			ArchiveWrapper wrapper = (ArchiveWrapper) dataModel.getProperty(IJ2EEComponentImportDataModelProperties.ARCHIVE_WRAPPER);
-			if (wrapper.getPath().toString().startsWith(ArchiveConstants.WEBAPP_LIB_URI)) {
-				String parentWarFileName = wrapper.getParent().getName();
-				return parentWarFileName + "#" + wrapper.getName(); //$NON-NLS-1$
-			}
-			return wrapper.getPath().toString();
-		} else if (columnIndex == 1) {
-			return dataModel.getStringProperty(IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		// do nothing
-	}
-
-	public void dispose() {
-		// dispose
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARLibrariesContainerPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARLibrariesContainerPage.java
deleted file mode 100644
index f45daeb..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARLibrariesContainerPage.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.wizards.IClasspathContainerPage;
-import org.eclipse.jdt.ui.wizards.IClasspathContainerPageExtension;
-import org.eclipse.jdt.ui.wizards.NewElementWizardPage;
-import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathContainer;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-
-public class EARLibrariesContainerPage extends NewElementWizardPage implements IClasspathContainerPage, IClasspathContainerPageExtension {
-
-	protected IClasspathEntry entry = null;
-
-	public EARLibrariesContainerPage() {
-		super("EARLibrariesContainerPage"); //$NON-NLS-1$
-		setTitle(EARLibrariesMessages.EARLibrariesContainerPage_0);
-		setDescription(EARLibrariesMessages.EARLibrariesContainerPage_1);
-	}
-
-	public boolean finish() {
-		return true;
-	}
-
-	public IClasspathEntry getSelection() {
-		return JavaCore.newContainerEntry(J2EEComponentClasspathContainer.CONTAINER_PATH);
-	}
-
-	public void setSelection(IClasspathEntry containerEntry) {
-	}
-
-	public void createControl(Composite parent) {
-		final Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout(1, false));
-
-		final Text text = new Text(composite, SWT.MULTI | SWT.READ_ONLY | SWT.WRAP);
-		text.setText(getDescription());
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-		setControl(composite);
-	}
-
-	public void initialize(IJavaProject project, IClasspathEntry[] currentEntries) {
-	}
-
-	
-	public static class EARLibrariesMessages extends NLS {
-		private static final String BUNDLE_NAME = "org.eclipse.jst.j2ee.internal.wizard.earlibraries"; //$NON-NLS-1$
-
-		public static String EARLibrariesContainerPage_0;
-
-		public static String EARLibrariesContainerPage_1;
-		static {
-			// initialize resource bundle
-			NLS.initializeMessages(BUNDLE_NAME, EARLibrariesMessages.class);
-		}
-
-		private EARLibrariesMessages() {
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARValidationHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARValidationHelper.java
deleted file mode 100644
index 7b3772c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/EARValidationHelper.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.internal.validation.UIEarValidator;
-import org.eclipse.wst.common.frameworks.internal.ui.RunnableWithProgressWrapper;
-import org.eclipse.wst.validation.internal.operations.OneValidatorOperation;
-import org.eclipse.wst.validation.internal.operations.ValidatorManager;
-
-public class EARValidationHelper {
-
-	/**
-	 * Constructor for EARValidationHelper.
-	 */
-	private EARValidationHelper() {
-		super();
-	}
-
-	/**
-	 * Return a list of runnable validation operations for all EAR projects which have auto validate
-	 * enabled, and are impacted by the list of projects; If the ear project itself is in the list,
-	 * then it is skipped.
-	 */
-	public static IRunnableWithProgress[] getEARValidationOperations(List modifiedProjects) {
-		List earProjects = Arrays.asList(J2EEProjectUtilities.getAllProjectsInWorkspaceOfType(J2EEProjectUtilities.ENTERPRISE_APPLICATION));
-		List result = new ArrayList(earProjects.size());
-		for (int i = 0; i < earProjects.size(); i++) {
-			IProject earProj = (IProject) earProjects.get(i);
-			if (willEARProjectNeedValidation(earProj, modifiedProjects)) {
-				result.add(createValidationRunnable(earProj));
-			}
-		}
-		return (IRunnableWithProgress[]) result.toArray(new IRunnableWithProgress[result.size()]);
-	}
-
-	/**
-	 * Return a list of runnable validation operations for all EAR projects which have auto validate
-	 * enabled, and are impacted by the j2ee project
-	 */
-	public static IRunnableWithProgress[] getEARValidationOperations(IProject modifiedJ2EEProject) {
-		return getEARValidationOperations(Collections.singletonList(modifiedJ2EEProject));
-	}
-
-	public static boolean isEARValidationAutoEnabled(IProject earProj) {
-		return ValidatorManager.getManager().isAutoValidate(earProj) && ValidatorManager.getManager().isEnabled(earProj, UIEarValidator.VALIDATOR_ID);
-	}
-
-	private static boolean willEARProjectNeedValidation(IProject earProj, List modifiedProjects) {
-		if (modifiedProjects.contains(earProj) || !isEARValidationAutoEnabled(earProj))
-			return false;
-		//TODO migrate to use artifact edits and components
-//		Object accessorKey = new Object();
-//		EAREditModel editModel = runtime.getEarEditModelForRead(accessorKey);
-//		try {
-//			for (int i = 0; i < modifiedProjects.size(); i++) {
-//				if (editModel.hasMappingToProject((IProject) modifiedProjects.get(i)))
-//					return true;
-//			}
-//		} finally {
-//			if (editModel != null)
-//				editModel.releaseAccess(accessorKey);
-//		}
-		return false;
-	}
-
-	/**
-	 * Creates a new IRunnableWithProgress which runs a one validator operation on the EAR project
-	 */
-	public static IRunnableWithProgress createValidationRunnable(IProject earProj) {
-		OneValidatorOperation op = new OneValidatorOperation(earProj, UIEarValidator.VALIDATOR_ID, true, false);
-
-		return new RunnableWithProgressWrapper(op);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ImportUtil.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ImportUtil.java
deleted file mode 100644
index afa712e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ImportUtil.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.client.ApplicationClient;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
-import org.eclipse.jst.j2ee.ejb.EJBJar;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.webapplication.WebApp;
-import org.eclipse.wst.common.frameworks.internal.WTPPlugin;
-
-
-
-/**
- * @author Sachin
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class ImportUtil {
-
-	public static final int UNKNOWN = 0;
-	public static final int EARFILE = 1;
-	public static final int EJBJARFILE = 2;
-	public static final int WARFILE = 3;
-	public static final int CLIENTJARFILE = 4;
-	public static final int RARFILE = 5;
-	public static final int IMPORTCLASSTYPE = 6;
-	public static final int J2EE14 = 256;
-	public static final int J2EE13 = 128;
-	public static final int J2EE12 = 64;
-	public static final int J2EESpec = J2EE12 + J2EE13 + J2EE14;
-	public static final String EAR = "EAR"; //$NON-NLS-1$
-	public static final String EJB = "EJB"; //$NON-NLS-1$
-	public static final String WAR = "WEB"; //$NON-NLS-1$
-	public static final String JAR = "CLIENT"; //$NON-NLS-1$
-	public static final String RAR = "RAR"; //$NON-NLS-1$
-	public static final String[] SUFFIXES = {"", EAR, EJB, WAR, JAR, RAR, ""}; //$NON-NLS-1$ //$NON-NLS-2$
-
-	public static int getFileType(String fileName) {
-		Archive anArchive = null;
-		try {
-			try {
-				anArchive = CommonarchiveFactoryImpl.getActiveFactory().openArchive(fileName);
-				int archiveType = getArchiveType(anArchive);
-				if (archiveType == UNKNOWN && isImportClassType(fileName))
-					return IMPORTCLASSTYPE;
-				return archiveType;
-			} catch (Exception e) {
-				if (isImportClassType(fileName))
-					return IMPORTCLASSTYPE;
-				return UNKNOWN;
-			}
-		} finally {
-			if (anArchive != null && anArchive.isOpen())
-				anArchive.close();
-		}
-	}
-
-	//TODO: use new getJ2EEVerions switch statements
-	public static int getVersionedFileType(String fileName) {
-		Archive anArchive = null;
-		try {
-			int archiveType = UNKNOWN;
-			try {
-				anArchive = CommonarchiveFactoryImpl.getActiveFactory().openArchive(fileName);
-				try {
-					if (anArchive.isEJBJarFile()) {
-						archiveType = EJBJARFILE;
-						EJBJar ejbJar = ((EJBJarFile) anArchive).getDeploymentDescriptor();
-						if (ejbJar.getVersionID() == J2EEVersionConstants.EJB_1_1_ID)
-							archiveType |= J2EE12;
-						else if (ejbJar.getVersionID() == J2EEVersionConstants.EJB_2_0_ID)
-							archiveType |= J2EE13;
-						else if (ejbJar.getVersionID() == J2EEVersionConstants.EJB_2_1_ID)
-							archiveType |= J2EE14;
-					} else if (anArchive.isWARFile()) {
-						archiveType = WARFILE;
-						WebApp war = ((WARFile) anArchive).getDeploymentDescriptor();
-						if (war.getVersionID() == J2EEVersionConstants.WEB_2_2_ID)
-							archiveType |= J2EE12;
-						else if (war.getVersionID() == J2EEVersionConstants.WEB_2_3_ID)
-							archiveType |= J2EE13;
-						else if (war.getVersionID() == J2EEVersionConstants.WEB_2_4_ID)
-							archiveType |= J2EE14;
-					} else if (anArchive.isApplicationClientFile()) {
-						archiveType = CLIENTJARFILE;
-						ApplicationClient appClient = ((ApplicationClientFile) anArchive).getDeploymentDescriptor();
-						if (appClient.getVersionID() == J2EEVersionConstants.J2EE_1_2_ID)
-							archiveType |= J2EE12;
-						else if (appClient.getVersionID() == J2EEVersionConstants.J2EE_1_3_ID)
-							archiveType |= J2EE13;
-						else if (appClient.getVersionID() == J2EEVersionConstants.J2EE_1_4_ID)
-							archiveType |= J2EE14;
-					} else if (anArchive.isRARFile()) {
-						archiveType = RARFILE | J2EE13;
-					} else if (anArchive.isEARFile()) {
-						archiveType = EARFILE;
-						Application app = ((EARFile) anArchive).getDeploymentDescriptor();
-						if (app.getVersionID() == J2EEVersionConstants.J2EE_1_2_ID)
-							archiveType |= J2EE12;
-						else if (app.getVersionID() == J2EEVersionConstants.J2EE_1_3_ID)
-							archiveType |= J2EE13;
-						else if (app.getVersionID() == J2EEVersionConstants.J2EE_1_4_ID)
-							archiveType |= J2EE14;
-					}
-				} catch (Exception e) {
-					//Ignore
-				}
-
-			} catch (Exception e) {
-				//Ignore
-			}
-			if (archiveType == UNKNOWN && isImportClassType(fileName))
-				archiveType = IMPORTCLASSTYPE;
-			return archiveType;
-		} finally {
-			if (anArchive != null && anArchive.isOpen())
-				anArchive.close();
-		}
-	}
-
-	public static int getArchiveType(Archive anArchive) {
-		int type = UNKNOWN;
-		try {
-			if (anArchive.isEJBJarFile())
-				type = EJBJARFILE;
-			else if (anArchive.isWARFile())
-				type = WARFILE;
-			else if (anArchive.isApplicationClientFile())
-				type = CLIENTJARFILE;
-			else if (anArchive.isRARFile())
-				type = RARFILE;
-			else if (anArchive.isEARFile())
-				type = EARFILE;
-		} catch (Exception e) {
-			//Ignore
-		}
-		return type;
-	}
-
-	public static boolean isImportClassType(String fileName) {
-		File file = new File(fileName);
-		String fileExtension = getExtension(file);
-		if (file.isFile()) {
-			if (fileExtension.equalsIgnoreCase("jar") || //$NON-NLS-1$
-						fileExtension.equalsIgnoreCase("zip") || //$NON-NLS-1$
-						fileExtension.equalsIgnoreCase("class")) //$NON-NLS-1$
-				return true;
-		} else if (file.isDirectory()) { //disable/enable drag/drop directories
-			return false;
-		}
-		return false;
-	}
-
-	public static String getExtension(File f) {
-		String ext = null;
-		String s = f.getName();
-		int i = s.lastIndexOf('.');
-
-		if (i > 0 && i < s.length() - 1) {
-			ext = s.substring(i + 1).toLowerCase();
-		}
-		return ext;
-	}
-
-
-	public static String findMatchingProjectName(String projectName) {
-		if (projectName.trim().length() > 0) {
-			IWorkspaceRoot root = J2EEPlugin.getWorkspace().getRoot();
-			IProject[] projects = root.getProjects();
-			String lowerCaseName = projectName.toLowerCase();
-			// iterate through all projects a compare lowercase names
-			if (projectName == null || projectName.length() == 0) {
-				if (projects.length == 1)
-					return projects[0].getName();
-				return null;
-			}
-			for (int i = 0; i < projects.length; i++) {
-				if (projects[i].exists()) {
-					if (WTPPlugin.isPlatformCaseSensitive()) {
-						if (projects[i].getName().equals(projectName))
-							return projects[i].getName();
-					} else {
-						if (projects[i].getName().toLowerCase().equals(lowerCaseName))
-							return projects[i].getName();
-					}
-				}
-			}
-		}
-		return projectName;
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactExportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactExportWizard.java
deleted file mode 100644
index f1190ea..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactExportWizard.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.internal.plugin.CommonEditorUtility;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard;
-
-/**
- * <p>
- * Serves as a base class for Wizards which export J2EE artifact structures from Eclipse projects
- * into a deployable form.
- * </p>
- * <p>
- * Subclasses must provide the methods that are required by
- * {@link com.ibm.etools.j2ee.common.wizard.datamodel.WTPWizard}.
- * </p>
- * <p>
- * Optionally, subclasses may also override the following methods:
- * <ul>
- * <li>{@link #doInit()()}
- * <li>{@link #doDispose()()}
- * </ul>
- * </p>
- * <p>
- * The base class will ensure that the Wizard is not spawned unless all open editors are in a
- * non-dirty state. Additionally, the selection from the active view which spanwed the wizard will
- * be made available to subclasses via {@link #getSelection()}.
- * </p>
- */
-public abstract class J2EEArtifactExportWizard extends DataModelWizard {
-
-	/**
-	 * <p>
-	 * Constant used to identify the key of the main page of the Wizard.
-	 * </p>
-	 */
-	protected static final String MAIN_PG = "main"; //$NON-NLS-1$
-
-	private IStructuredSelection currentSelection;
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public J2EEArtifactExportWizard() {
-		super();
-		setWindowTitle(J2EEUIMessages.getResourceString("67"));//$NON-NLS-1$ 
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public J2EEArtifactExportWizard(IDataModel model) {
-		super(model);
-		setWindowTitle(J2EEUIMessages.getResourceString("67"));//$NON-NLS-1$ 
-	}
-
-	/**
-	 * <p>
-	 * Invoked from init(IWorkbench, IStructuredSelection) once the workbench and selection have
-	 * been safely stored away.
-	 * </p>
-	 * <p>
-	 * No-op by default.
-	 * </p>
-	 */
-	protected void doInit() {
-		//init
-	}
-
-	/**
-	 * <p>
-	 * Invoked from {@link #dispose()}. Should be used to handle any specific Wizard disposal.
-	 * </p>
-	 */
-	private void doDispose() {
-		//dispose
-	}
-
-	/**
-	 * <p>
-	 * The selection is used to pre-populate values in the Wizard dialog controls.
-	 * </p>
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
-	 *      org.eclipse.jface.viewers.IStructuredSelection)
-	 * 
-	 * @param workbench
-	 *            the current workbench parent of the wizard
-	 * @param aSelection
-	 *            the selection from the view used to start the wizard (if any)
-	 */
-	public final void init(IWorkbench workbench, IStructuredSelection selection) {
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EXPORT_WIZ_TITLE));
-		this.currentSelection = selection;
-
-//TODO: enable selection defaults
-//		if (this.currentSelection.size() > 0) {
-//			Object element = this.currentSelection.getFirstElement();
-//			IProject project = ProjectUtilities.getProject(element);
-//			if (project != null) {
-//				IDataModel m = getDataModel();
-//				Object originalProjectName = m.getProperty(IJ2EEComponentExportDataModelProperties.COMPONENT_NAME);
-//				m.setProperty(IJ2EEComponentExportDataModelProperties.COMPONENT_NAME, project.getName());
-//				if (!m.validateProperty(IJ2EEComponentExportDataModelProperties.COMPONENT_NAME).isOK()) {
-//					m.setProperty(IJ2EEComponentExportDataModelProperties.COMPONENT_NAME, originalProjectName);
-//				}
-//			}
-//		}
-		setNeedsProgressMonitor(true);
-		doInit();
-	}
-
-	/**
-	 * <p>
-	 * Calls {@link #doDispose()}and then nulls out fields that are no longer needed once the
-	 * wizard completes.
-	 * </p>
-	 * 
-	 * @see com.ibm.etools.j2ee.common.wizard.datamodel.WTPWizard#dispose()
-	 */
-	public final void dispose() {
-		super.dispose();
-		doDispose();
-		this.currentSelection = null;
-	}
-
-	protected final boolean prePerformFinish() {
-		if (!CommonEditorUtility.promptToSaveAllDirtyEditors()) {
-			return false;
-		}
-		if (CommonEditorUtility.getDirtyEditors().length != 0) { // all checkboxes were not selected
-			return false;
-		}
-		return super.prePerformFinish();
-	}
-
-	/**
-	 * @return Returns the currentSelection.
-	 */
-	protected final IStructuredSelection getSelection() {
-		return currentSelection;
-	}
-
-	/**
-	 * @return
-	 */
-	protected final J2EEExportPage getMainPage() {
-		return (J2EEExportPage) getPage(MAIN_PG);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactImportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactImportWizard.java
deleted file mode 100644
index 6812078..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEArtifactImportWizard.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.internal.plugin.CommonEditorUtility;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard;
-import org.eclipse.wst.web.internal.DelegateConfigurationElement;
-
-/**
- * <p>
- * Serves as a base class for Wizards which import J2EE artifact structures into Eclipse projects.
- * </p>
- * <p>
- * Subclasses must provide the methods that are required by
- * {@see org.eclipse.wst.common.frameworks.internal.ui.WTPWizard}.
- * </p>
- * <p>
- * Optionally, subclasses may also override the following methods:
- * <ul>
- * <li>{@link #getFinalPerspectiveID()}
- * <li>{@link #doInit()()}
- * <li>{@link #doDispose()()}
- * </ul>
- * </p>
- * <p>
- * The base class will ensure that the Wizard is not spawned unless all open editors are in a
- * non-dirty state. Additionally, the selection from the active view which spanwed the wizard will
- * be made available to subclasses via {@link #getCurrentSelection()}.
- * </p>
- */
-public abstract class J2EEArtifactImportWizard extends DataModelWizard implements IImportWizard, IExecutableExtension {
-
-	/**
-	 * <p>
-	 * Constant used to identify the key of the main page of the Wizard.
-	 * </p>
-	 */
-	protected static final String MAIN_PG = "main"; //$NON-NLS-1$
-
-	private IConfigurationElement configurationElement;
-	private IStructuredSelection selection;
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public J2EEArtifactImportWizard() {
-		super();
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public J2EEArtifactImportWizard(IDataModel model) {
-		super(model);
-	}
-
-	/**
-	 * <p>
-	 * The selection is used to pre-populate values in the Wizard dialog controls.
-	 * </p>
-	 * 
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
-	 *      org.eclipse.jface.viewers.IStructuredSelection)
-	 * 
-	 * @param workbench
-	 *            the current workbench parent of the wizard
-	 * @param aSelection
-	 *            the selection from the view used to start the wizard (if any)
-	 */
-	public final void init(IWorkbench workbench, IStructuredSelection aSelection) {
-		this.selection = aSelection;
-		setNeedsProgressMonitor(true);
-		doInit();
-	}
-
-	/**
-	 * <p>
-	 * Calls {@link #doDispose()}and then nulls out fields that are no longer needed once the
-	 * wizard completes.
-	 * </p>
-	 * 
-	 * @see com.ibm.etools.j2ee.common.wizard.datamodel.WTPWizard#dispose()
-	 */
-	public final void dispose() {
-		super.dispose();
-		doDispose();
-		this.selection = null;
-		this.configurationElement = null;
-	}
-
-	/**
-	 * <p>
-	 * Invoked after the selection has been saved off in
-	 * {@link #init(IWorkbench, IStructuredSelection)}. Should be used to handle any specific
-	 * Wizard initialization.
-	 * </p>
-	 */
-	protected void doInit() {
-		// init
-	}
-
-	/**
-	 * <p>
-	 * Invoked from {@link #dispose()}. Should be used to handle any specific Wizard disposal.
-	 * </p>
-	 */
-	protected void doDispose() {
-		// dispose
-	}
-
-	/**
-	 * <p>
-	 * The return value of this method will be used to suggest a final perspective to the user once
-	 * the wizard completes.
-	 * </p>
-	 * 
-	 * @return Returns the J2EE Perpsective ID by default
-	 */
-	protected String getFinalPerspectiveID() {
-		return null;
-	}
-
-	/**
-	 * <p>
-	 * Prompts the user to save open, dirty editors.
-	 * </p>
-	 * 
-	 * @return true only if all editors are saved
-	 */
-	protected final boolean prePerformFinish() {
-		if (!CommonEditorUtility.promptToSaveAllDirtyEditors()) {
-			return false;
-		}
-		//Must have selected to not save, but should close all remaining
-		CommonEditorUtility.closeAllEditors();
-		return super.prePerformFinish();
-	}
-
-	/**
-	 * <p>
-	 * Invoked after the user has clicked the "Finish" button of the wizard. The default
-	 * implementation will attempt to update the final perspective to the value specified by
-	 * {@link #getFinalPerspectiveID() }
-	 * </p>
-	 * 
-	 * @throws InvocationTargetException
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizard#postPerformFinish()
-	 */
-	protected final void postPerformFinish() throws InvocationTargetException {
-		super.postPerformFinish();
-		if (getFinalPerspectiveID() != null && getFinalPerspectiveID().length() > 0) {
-			final IConfigurationElement element = new DelegateConfigurationElement(configurationElement) {
-				public String getAttribute(String aName) {
-					if (aName.equals("finalPerspective")) { //$NON-NLS-1$
-						return getFinalPerspectiveID();
-					}
-					return super.getAttribute(aName);
-				}
-			};
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					BasicNewProjectResourceWizard.updatePerspective(element);
-				}
-			});
-		} else {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					BasicNewProjectResourceWizard.updatePerspective(configurationElement);
-				}
-			});
-		}
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * <p>
-	 * The configuration element is saved to use when the wizard completes in order to change the
-	 * current perspective using either (1) the value specified by {@see #getFinalPerspectiveID()}
-	 * or (2) the value specified by the finalPerspective attribute in the Wizard's configuration
-	 * element.
-	 * </p>
-	 * 
-	 * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement,
-	 *      java.lang.String, java.lang.Object)
-	 */
-	public final void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-		this.configurationElement = config;
-	}
-
-	/**
-	 * @return Returns the selection.
-	 */
-	protected final IStructuredSelection getSelection() {
-		return selection;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentFacetCreationWizardPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentFacetCreationWizardPage.java
deleted file mode 100644
index ad33bd9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentFacetCreationWizardPage.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Nov 10, 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.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetProjectCreationDataModelProperties;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.ui.project.facet.EarSelectionPanel;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage;
-
-public abstract class J2EEComponentFacetCreationWizardPage extends DataModelFacetCreationWizardPage implements IFacetProjectCreationDataModelProperties {
-
-    private static final String STORE_LABEL = "LASTEARNAME_"; //$NON-NLS-1$
-    
-	protected EarSelectionPanel earPanel;
-  
-	public J2EEComponentFacetCreationWizardPage(IDataModel dataModel, String pageName) {
-		super(dataModel, pageName);
-	}
-
-	protected Composite createTopLevelComposite(Composite parent) {
-        final Composite top = super.createTopLevelComposite( parent );
-		createEarComposite(top);
-		return top;
-	}
-
-	private void createEarComposite(Composite top) 
-	{
-	    final IFacetedProjectWorkingCopy fpjwc
-	        = (IFacetedProjectWorkingCopy) this.model.getProperty( FACETED_PROJECT_WORKING_COPY );
-	    
-	    final String moduleFacetId = getModuleFacetID();
-	    final IProjectFacet moduleFacet = ProjectFacetsManager.getProjectFacet( moduleFacetId );
-	    final IFacetedProject.Action action = fpjwc.getProjectFacetAction( moduleFacet );
-	    
-		earPanel = new EarSelectionPanel( (IDataModel) action.getConfig(), top );
-	}
-
-	protected abstract String getModuleFacetID();
-
-	protected String getModuleTypeID() {
-		return getModuleFacetID();
-	}
-	
-	public void dispose() {
-		super.dispose();
-		if (earPanel != null)
-			earPanel.dispose();
-	}
-	
-    public void storeDefaultSettings() {
-    	super.storeDefaultSettings();
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-        	FacetDataModelMap map = (FacetDataModelMap)model.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-	    	String facetID = getModuleFacetID();
-	    	IDataModel j2eeModel = map.getFacetDataModel(facetID);
-        	if(j2eeModel.getBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR)){
-	        	String lastEARName = j2eeModel.getStringProperty(IJ2EEModuleFacetInstallDataModelProperties.EAR_PROJECT_NAME);
-	            settings.put(STORE_LABEL, lastEARName);
-        	}
-        }
-    }
-    
-    public void restoreDefaultSettings() {
-    	super.restoreDefaultSettings();
-        IDialogSettings settings = getDialogSettings();
-        if (settings != null) {
-            String lastEARName = settings.get(STORE_LABEL);
-            if (lastEARName != null){
-            	FacetDataModelMap map = (FacetDataModelMap)model.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-            	String facetID = getModuleFacetID();
-            	IDataModel j2eeModel = map.getFacetDataModel(facetID);
-                j2eeModel.setProperty(IJ2EEModuleFacetInstallDataModelProperties.LAST_EAR_NAME, lastEARName);
-            }
-		}
-	}
-    
-	protected IDialogSettings getDialogSettings() {
-        return J2EEUIPlugin.getDefault().getDialogSettings();
-    }
-	
-	protected String[] getValidationPropertyNames() {
-		String[] superProperties = super.getValidationPropertyNames();
-		List list = Arrays.asList(superProperties);
-		ArrayList arrayList = new ArrayList();
-		arrayList.addAll( list );
-		arrayList.add( IJ2EEFacetProjectCreationDataModelProperties.EAR_PROJECT_NAME );
-		arrayList.add( IJ2EEFacetProjectCreationDataModelProperties.ADD_TO_EAR );
-		return (String[])arrayList.toArray( new String[0] );
-	}	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentImportWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentImportWizard.java
deleted file mode 100644
index acd1959..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentImportWizard.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * <p>
- * Serves as a base class for Wizards which import J2EE module structures into Eclipse projects.
- * </p>
- * <p>
- * Import wizards must define the following methods:
- * <ul>
- * <li>{@link #getImportOperation()}
- * <li>{@link #getModuleValidatorStrings()}
- * </ul>
- * </p>
- * <p>
- * And optionally, they may override the following methods from
- * {@see org.eclipse.jst.j2ee.internal.wizard.J2EEArtifactImportWizard}:
- * <ul>
- * <li>{@link #getFinalPerspectiveID()}
- * <li>{@link #doInit()()}
- * <li>{@link #doDispose()()}
- * </ul>
- */
-public abstract class J2EEComponentImportWizard extends J2EEArtifactImportWizard implements IImportWizard, IExecutableExtension {
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public J2EEComponentImportWizard() {
-		super();
-		setWindowTitle(J2EEUIMessages.getResourceString("38")); //$NON-NLS-1$
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public J2EEComponentImportWizard(IDataModel model) {
-		super(model);
-		setWindowTitle(J2EEUIMessages.getResourceString("38"));//$NON-NLS-1$ 
-	}
-
-	/**
-	 * <p>
-	 * The Import Wizards can run arbitrary validators once the module has been created. These
-	 * validators ensure that the structure created by the Import operation and the contents of that
-	 * structure are valid. Any errors will be announced to the Problems view in Eclipse.
-	 * </p>
-	 * 
-	 * @return An array of validator IDs that should be used for this module type
-	 */
-	protected abstract String[] getModuleValidatorStrings();
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentLabelProvider.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentLabelProvider.java
deleted file mode 100644
index 1bb172e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEComponentLabelProvider.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Mar 21, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-
-
-
-/**
- * @author jialin
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class J2EEComponentLabelProvider implements ILabelProvider {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if(element instanceof IVirtualComponent){
-			IVirtualComponent comp = (IVirtualComponent)element;
-			return comp.getProject().getName();
-		}
-		
-		if (element instanceof IProject) {
-			IProject handle = (IProject)element;
-			return handle.getName();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-		// TODO Auto-generated method stub
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		// TODO Auto-generated method stub
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-		// TODO Auto-generated method stub
-		
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java
deleted file mode 100644
index 4e009e0..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEExportPage.java
+++ /dev/null
@@ -1,550 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-/*
- * Created on Dec 3, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentExportDataModelProperties;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentExportDataModelProperties.IArchiveExportParticipantData;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.ui.archive.IArchiveExportParticipantPanelFactory;
-import org.eclipse.jst.j2ee.ui.archive.internal.ArchiveExportParticipantPanelsExtensionPoint;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public abstract class J2EEExportPage extends DataModelWizardPage {
-
-	public static boolean isWindows = SWT.getPlatform().toLowerCase().startsWith("win"); //$NON-NLS-1$
-
-	protected IStructuredSelection currentResourceSelection;
-	private static final int SIZING_TEXT_FIELD_WIDTH = 305;
-	private static final String STORE_LABEL = "J2EE_EXPORT_"; //$NON-NLS-1$
-	private static final String OVERWRITE_LABEL = "OVERWRITE"; //$NON-NLS-1$
-	private static final String SOURCE_LABEL = "SOURCE"; //$NON-NLS-1$
-	protected static final String defBrowseButtonLabel = J2EEUIMessages.getResourceString(J2EEUIMessages.BROWSE_LABEL);
-	protected String LABEL_DESTINATION = J2EEUIMessages.getResourceString(J2EEUIMessages.J2EE_EXPORT_DESTINATION);
-	protected String LABEL_RUNTIME = J2EEUIMessages.getResourceString(J2EEUIMessages.J2EE_EXPORT_RUNTIME);
-	private Combo resourceNameCombo;
-	private Combo destinationNameCombo;
-	private Button optimizeForRuntimeCheckbox;
-	private Combo runtimeNameCombo;
-	private Button destinationBrowseButton;
-	protected Button overwriteExistingFilesCheckbox;
-	private Button sourceFilesCheckbox;
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public J2EEExportPage(IDataModel model, String pageName, IStructuredSelection selection) {
-		super(model, pageName);
-		currentResourceSelection = selection;
-		Object element = currentResourceSelection.getFirstElement();
-		IProject project = ProjectUtilities.getProject(element);
-		if (project != null) {
-			String projectName = project.getName();
-			DataModelPropertyDescriptor [] validProjectNames = model.getValidPropertyDescriptors(IJ2EEComponentExportDataModelProperties.PROJECT_NAME);
-			boolean projectNameSet = false;
-			for(int i=0;i<validProjectNames.length && !projectNameSet; i++){
-				if(projectName.equals(validProjectNames[i].getPropertyDescription())){
-					projectNameSet = true;
-					model.setProperty(IJ2EEComponentExportDataModelProperties.PROJECT_NAME, projectName);
-				}
-			}
-			if(!projectNameSet && validProjectNames.length > 0){
-				model.setProperty(IJ2EEComponentExportDataModelProperties.PROJECT_NAME, validProjectNames[0].getPropertyDescription());
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#getValidationPropertyNames()
-	 */
-	protected String[] getValidationPropertyNames() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-
-		Composite composite = new Composite(parent, SWT.NULL);
-		//WorkbenchHelp.setHelp(composite, getInfopopID());
-		GridLayout layout = new GridLayout(1, false);
-		composite.setLayout(layout);
-
-		createSourceAndDestinationGroup(composite);
-        createRuntimeGroup(composite);
-		createOptionsGroup(composite);
-
-		//setupBasedOnInitialSelections();
-		setupInfopop(composite);
-		restoreWidgetValues();
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	/**
-	 * @param composite
-	 */
-	private void createSourceAndDestinationGroup(Composite parent) {
-
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout(3, false);
-		composite.setLayout(layout);
-		createExportComponentGroup(composite);
-		createDestinationGroup(composite);
-
-	}
-    /**
-     * Creates the export source resource specification widgets.
-     * 
-     * @param parent
-     *            a <code>Composite</code> that is to be used as the parent of this group's
-     *            collection of visual components
-     * @see org.eclipse.swt.widgets.Composite
-     */
-    protected void createExportComponentGroup(Composite parent) {
-    	
-        //Project label
-        Label projectLabel = new Label(parent, SWT.NONE);
-        projectLabel.setText(getComponentLabel());
-        //Project combo
-        resourceNameCombo = new Combo(parent, SWT.SINGLE | SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-        resourceNameCombo.setLayoutData(data);
-        synchHelper.synchCombo(resourceNameCombo, IJ2EEComponentExportDataModelProperties.PROJECT_NAME, null);
-
-        	
-        new Label(parent, SWT.NONE);//Pad label
-    }
-
-    /**
-     * @return
-     */
-    protected abstract String getComponentLabel();
-
-    protected void createDestinationGroup(org.eclipse.swt.widgets.Composite parent) {
-
-        //Destination label
-        Label destinationLabel = new Label(parent, SWT.NONE);
-        destinationLabel.setText(LABEL_DESTINATION);
-        // destination name combo field
-        destinationNameCombo = new Combo(parent, SWT.SINGLE | SWT.BORDER);
-        destinationNameCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        synchHelper.synchCombo(destinationNameCombo, IJ2EEComponentExportDataModelProperties.ARCHIVE_DESTINATION, null);
-
-        // destination browse button
-        destinationBrowseButton = new Button(parent, SWT.PUSH);
-        destinationBrowseButton.setText(defBrowseButtonLabel); //$NON-NLS-1$
-        destinationBrowseButton.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
-        destinationBrowseButton.addSelectionListener(new SelectionAdapter() {
-            public void widgetSelected(SelectionEvent e) {
-                handleDestinationBrowseButtonPressed();
-            }
-        });
-        destinationBrowseButton.setEnabled(true);
-
-    }
-    
-    protected void createRuntimeGroup( final Composite parent ) 
-    {
-        final Group group = new Group( parent, SWT.NONE );
-        group.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-        group.setLayout( new GridLayout( 1, false ) );
-    	group.setText( LABEL_RUNTIME );
-
-    	this.optimizeForRuntimeCheckbox = new Button( group, SWT.CHECK );
-    	this.optimizeForRuntimeCheckbox.setText( "Optimize for a specific server runtime" );
-    	this.synchHelper.synchCheckbox( this.optimizeForRuntimeCheckbox, IJ2EEComponentExportDataModelProperties.OPTIMIZE_FOR_SPECIFIC_RUNTIME, null );
-    	
-    	final GridData gd = new GridData();
-    	gd.verticalIndent = 2;
-    	
-    	this.optimizeForRuntimeCheckbox.setLayoutData( gd );
-    	
-    	this.runtimeNameCombo = new Combo( group, SWT.READ_ONLY | SWT.SINGLE | SWT.BORDER );
-        this.runtimeNameCombo.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-        this.synchHelper.synchCombo( this.runtimeNameCombo, IJ2EEComponentExportDataModelProperties.RUNTIME, null );
-        
-        final Composite extComposite = new EnhancedComposite( group, SWT.NONE );
-        extComposite.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
-        
-        final GridLayout layout = new GridLayout( 1, false );
-        layout.marginWidth = 10;
-        layout.marginHeight = 1;
-        
-        extComposite.setLayout( layout );
-        
-        getDataModel().addListener
-        (
-            new IDataModelListener()
-            {
-                public void propertyChanged( final DataModelEvent event )
-                {
-                    if( event.getPropertyName().equals( IJ2EEComponentExportDataModelProperties.RUNTIME ) && 
-                        event.getFlag() == IDataModel.VALUE_CHG )
-                    {
-                        refreshExtensionsComposite( extComposite );
-                    }
-                    else if( event.getPropertyName().equals( IJ2EEComponentExportDataModelProperties.OPTIMIZE_FOR_SPECIFIC_RUNTIME  ) &&
-                             event.getFlag() == IDataModel.VALUE_CHG )
-                    {
-                        final boolean optimize = ( (Boolean) event.getProperty() ).booleanValue();
-                        extComposite.setEnabled( optimize );
-                    }
-                }
-            }
-        );
-        
-        refreshExtensionsComposite( extComposite );
-	}
-    
-    private void refreshExtensionsComposite( final Composite extComposite )
-    {
-        for( Control child : extComposite.getChildren() )
-        {
-            child.dispose();
-        }
-        
-        final List<IArchiveExportParticipantData> extensions 
-            = (List<IArchiveExportParticipantData>) getDataModel().getProperty( IJ2EEComponentExportDataModelProperties.RUNTIME_SPECIFIC_PARTICIPANTS );
-        
-        if( extensions != null )
-        {
-            Composite innerComposite = null;
-            
-            for( IArchiveExportParticipantData extension : extensions )
-            {
-                final String id = extension.getId();
-                
-                final ArchiveExportParticipantPanelsExtensionPoint.PanelFactoryInfo panelExtInfo
-                    = ArchiveExportParticipantPanelsExtensionPoint.getExtension( id );
-                
-                if( panelExtInfo != null )
-                {
-                    final IArchiveExportParticipantPanelFactory panelFactory = panelExtInfo.loadPanelFactory();
-                    
-                    if( panelFactory != null )
-                    {
-                        if( innerComposite == null )
-                        {
-                            innerComposite = new EnhancedComposite( extComposite, SWT.NONE );
-                            innerComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) );
-                            
-                            final GridLayout innerCompositeLayout = new GridLayout( 1, false );
-                            innerCompositeLayout.marginWidth = 0;
-                            innerCompositeLayout.marginHeight = 0;
-                            
-                            innerComposite.setLayout( innerCompositeLayout );
-                        }
-                        
-                        try
-                        {
-                            panelFactory.createPanel( innerComposite, extension.getDataModel() );
-                        }
-                        catch( Exception e )
-                        {
-                            J2EEUIPlugin.logError( -1, e.getMessage(), e );
-                        }
-                    }
-                }
-            }
-        }
-        
-        extComposite.getShell().layout( true, true );
-    }
-    
-    /**
-     * Create the export options specification widgets.
-     * 
-     * @param parent
-     *            org.eclipse.swt.widgets.Composite
-     */
-    protected void createOptionsGroup(Composite parent) {
-
-        // options group
-        Composite optionsGroup = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout(1, false);
-        optionsGroup.setLayout(layout);
-
-
-        // source files... checkbox
-        createSourceFilesCheckbox(optionsGroup);
-
-        // overwrite... checkbox
-        createOverwriteExistingFilesCheckbox(optionsGroup);
-
-        // advanced button
-        if (shouldShowProjectFilesCheckbox()) {
-            createProjectFilesCheckbox(optionsGroup);
-        }
-    }
-    
-	protected void createOverwriteExistingFilesCheckbox(Composite optionsGroup) {
-		//Overwrite checkbox
-		overwriteExistingFilesCheckbox = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-		overwriteExistingFilesCheckbox.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.J2EE_EXPORT_OVERWRITE_CHECKBOX)); //$NON-NLS-1$ = "Overwrite existing files without warning"
-		overwriteExistingFilesCheckbox.setEnabled(true);
-		synchHelper.synchCheckbox(overwriteExistingFilesCheckbox, IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING, null);
-	}
-
-	protected void createSourceFilesCheckbox(Composite optionsGroup) {
-		sourceFilesCheckbox = new Button(optionsGroup, SWT.CHECK | SWT.LEFT);
-		sourceFilesCheckbox.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.J2EE_EXPORT_SOURCE_CHECKBOX)); //$NON-NLS-1$
-		synchHelper.synchCheckbox(sourceFilesCheckbox, IJ2EEComponentExportDataModelProperties.EXPORT_SOURCE_FILES, null);
-	}
-
-	/**
-	 * @return
-	 */
-	protected boolean shouldShowProjectFilesCheckbox() {
-		return false;
-	}
-
-	protected void createProjectFilesCheckbox(Composite composite) {
-		//do nothing
-	}
-
-	/**
-	 * Populates the resource name field based upon the currently-selected resources.
-	 */
-	protected void setupBasedOnInitialSelections() {
-
-		if (currentResourceSelection.isEmpty() || setupBasedOnRefObjectSelection())
-			return; // no setup needed
-
-		java.util.List selections = new ArrayList();
-		Iterator aenum = currentResourceSelection.iterator();
-		while (aenum.hasNext()) {
-			IResource currentResource = (IResource) aenum.next();
-			// do not add inaccessible elements
-			if (currentResource.isAccessible())
-				selections.add(currentResource);
-		}
-		if (selections.isEmpty())
-			return; // setup not needed anymore
-
-//		int selectedResourceCount = selections.size();
-//TODO: find a way to select an existing component
-//		if (selectedResourceCount == 1) {
-//			IResource resource = (IResource) selections.get(0);
-//			if ((resource instanceof IProject) && checkForNature((IProject) resource)) {
-//				resourceNameCombo.setText(resource.getName().toString());
-//			}
-//		}
-	}
-
-	/**
-	 * @return
-	 */
-	protected String getProjectImportLabel() {
-		return null;
-	}
-
-	/**
-	 *  
-	 */
-	protected void handleDestinationBrowseButtonPressed() {
-
-		FileDialog dialog = new FileDialog(destinationNameCombo.getShell(), SWT.SAVE);
-		String fileName = getDataModel().getStringProperty(IJ2EEComponentExportDataModelProperties.PROJECT_NAME);
-		String[] filters = getFilterExpression();
-		if (!isWindows) {
-			if (filters.length != 0 && filters[0] != null && filters[0].indexOf('.') != -1) {
-				fileName += filters[0].substring(filters[0].indexOf('.'));
-			}
-		}
-		dialog.setFileName(fileName);
-		if (isWindows) {
-			dialog.setFilterExtensions(filters);
-		}
-		String filename = dialog.open();
-		if (filename != null)
-			destinationNameCombo.setText(filename);
-	}
-
-	protected void restoreWidgetValues() {
-
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] sourceNames = settings.getArray(STORE_LABEL + getFileNamesStoreID());
-			if (sourceNames == null)
-				return; // ie.- no settings stored
-			for (int i = 0; i < sourceNames.length; i++) {
-				if (sourceNames[i] == null)
-					sourceNames[i] = ""; //$NON-NLS-1$
-			}
-			destinationNameCombo.setItems(sourceNames);
-			boolean overwrite = settings.getBoolean(STORE_LABEL + OVERWRITE_LABEL);
-			model.setBooleanProperty(IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING, overwrite);
-			boolean includeSource = settings.getBoolean(STORE_LABEL + SOURCE_LABEL);
-			model.setBooleanProperty(IJ2EEComponentExportDataModelProperties.EXPORT_SOURCE_FILES, includeSource);
-		}
-	}
-
-	public void storeDefaultSettings() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			// update source names history
-			String[] sourceNames = settings.getArray(STORE_LABEL + getFileNamesStoreID());
-			if (sourceNames == null) {
-				sourceNames = new String[0];
-			}
-
-			String newName = destinationNameCombo.getText();
-
-			//rip out any empty filenames and trim length to 5
-			ArrayList newNames = new ArrayList();
-			for (int i = 0; i < sourceNames.length && i < 5; i++) {
-				if (sourceNames[i].trim().length() > 0 && !newName.equals(sourceNames[i])) {
-					newNames.add(sourceNames[i]);
-				}
-			}
-			newNames.add(0, destinationNameCombo.getText());
-			sourceNames = new String[newNames.size()];
-			newNames.toArray(sourceNames);
-
-			settings.put(STORE_LABEL + getFileNamesStoreID(), sourceNames);
-			settings.put(STORE_LABEL + OVERWRITE_LABEL, model.getBooleanProperty(IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING));
-			settings.put(STORE_LABEL + SOURCE_LABEL, model.getBooleanProperty(IJ2EEComponentExportDataModelProperties.EXPORT_SOURCE_FILES));
-		}
-	}
-
-	/**
-	 * @return
-	 */
-	protected String getFileNamesStoreID() {
-		return getCompnentID();
-	}
-	protected abstract String getCompnentID();
-
-    /**
-	 * @return
-	 */
-	protected String[] getFilterExpression() {
-		return new String[0];
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#enter()
-	 */
-	protected void enter() {
-		super.enter();
-		restoreWidgetValues();
-	}
-
-	/**
-	 * @return
-	 */
-	//protected abstract String getNatureID();
-
-	protected abstract boolean isMetaTypeSupported(Object o);
-
-	/**
-	 * Populates the resource name field based upon the currently-selected resources.
-	 */
-	protected boolean setupBasedOnRefObjectSelection() {
-
-		if (currentResourceSelection.size() != 1)
-			return false;
-
-		Object o = currentResourceSelection.getFirstElement();
-		if (!isMetaTypeSupported(o))
-			return false;
-
-		EObject ref = (EObject) o;
-		IResource resource = ProjectUtilities.getProject(ref);
-		if (resource != null) {
-			resourceNameCombo.setText(resource.getName().toString());
-		}
-		return true;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.wizard.WizardPage#getDialogSettings()
-	 */
-	protected IDialogSettings getDialogSettings() {
-		return J2EEUIPlugin.getDefault().getDialogSettings();
-	}
-	
-	private static class EnhancedComposite
-
-	    extends Composite
-	    
-	{
-	    public EnhancedComposite( final Composite parent,
-	                              final int style )
-	    {
-	        super( parent, style );
-	    }
-	    
-	    @Override
-	    public void setEnabled( boolean enabled )
-	    {
-	        super.setEnabled( enabled );
-	        
-            for( Control child : getChildren() )
-            {
-                child.setEnabled( enabled );
-            }
-	    }
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEImportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEImportPage.java
deleted file mode 100644
index d41368e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEImportPage.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelPropertyDescriptor;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-import org.eclipse.wst.server.ui.ServerUIUtil;
-import org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage;
-
-public abstract class J2EEImportPage extends DataModelWizardPage {
-
-	private Combo componentCombo;
-	private Combo fileNameCombo;
-	private static final String STORE_LABEL = "J2EE_IMPORT_"; //$NON-NLS-1$
-	private static final int SIZING_TEXT_FIELD_WIDTH = 305;
-	protected static final String defBrowseButtonLabel = J2EEUIMessages.getResourceString(J2EEUIMessages.BROWSE_LABEL);
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public J2EEImportPage(IDataModel model, String pageName) {
-		super(model, pageName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#getValidationPropertyNames()
-	 */
-	protected String[] getValidationPropertyNames() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout(3, false);
-		composite.setLayout(layout);
-		createFileNameComposite(composite);
-		createProjectNameComposite(composite);
-		restoreWidgetValues();
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	/**
-	 * @param composite
-	 */
-	protected void createProjectNameComposite(Composite parent) {
-//		if (FlexibleJavaProjectPreferenceUtil.getMultipleModulesPerProjectProp()) {
-//			new NewModuleDataModelGroup(parent, getDataModel(), synchHelper);
-//		} else {
-			Label componentLabel = new Label(parent, SWT.NONE);
-
-			componentLabel.setText(getProjectImportLabel());
-			componentLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
-			// setting up combo
-			componentCombo = new Combo(parent, SWT.SINGLE | SWT.BORDER);
-			GridData data = new GridData(GridData.FILL_HORIZONTAL);
-			data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-			componentCombo.setLayoutData(data);
-
-			// // setting up button
-			// Button newProjectButton = new Button(parent, SWT.PUSH);
-			// newProjectButton.setText(defNewButtonLabel); //$NON-NLS-1$
-			// newProjectButton.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
-			// newProjectButton.addSelectionListener(new SelectionAdapter() {
-			// public void widgetSelected(SelectionEvent e) {
-			// // handleNewProjectButtonPressed();
-			// }
-			// });
-			// newProjectButton.setEnabled(true);
-			synchHelper.synchCombo(componentCombo, IJ2EEComponentImportDataModelProperties.PROJECT_NAME, new Control[]{componentLabel});
-			new Label(parent, SWT.NULL);
-			createServerTargetComposite(parent);
-		//}
-	}
-
-	
-	
-	protected void createServerTargetComposite(Composite parent) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.TARGET_RUNTIME_LBL));
-		Combo serverTargetCombo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
-		serverTargetCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		Button newServerTargetButton = new Button(parent, SWT.NONE);
-		newServerTargetButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.NEW_THREE_DOTS_E));
-		newServerTargetButton.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		newServerTargetButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				//FlexibleProjectCreationWizardPage.launchNewRuntimeWizard(getShell(), model);
-				launchNewRuntimeWizard(getShell(), model);
-			}
-		});
-		Control[] deps = new Control[]{label, newServerTargetButton};
-		synchHelper.synchCombo(serverTargetCombo, IFacetProjectCreationDataModelProperties.FACET_RUNTIME, deps);
-	}
-
-	protected IDialogSettings getDialogSettings() {
-		return J2EEUIPlugin.getDefault().getDialogSettings();
-	}
-
-	protected String getProjectImportLabel() {
-		return null;
-	}
-
-	/**
-	 * @param composite
-	 */
-	protected void createFileNameComposite(Composite parent) {
-		Label fileLabel = new Label(parent, SWT.NONE);
-		fileLabel.setText(getFileImportLabel());
-
-		// setup combo
-		fileNameCombo = new Combo(parent, SWT.SINGLE | SWT.BORDER);
-		fileNameCombo.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
-
-		// setup browse button
-		Button browseButton = new Button(parent, SWT.PUSH);
-		browseButton.setText(defBrowseButtonLabel);
-		browseButton.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleFileBrowseButtonPressed();
-			}
-		});
-		browseButton.setEnabled(true);
-
-		synchHelper.synchCombo(fileNameCombo, IJ2EEComponentImportDataModelProperties.FILE_NAME, new Control[]{fileLabel, browseButton});
-	}
-
-	/**
-	 * 
-	 */
-	protected void handleFileBrowseButtonPressed() {
-
-		FileDialog dialog = new FileDialog(fileNameCombo.getShell());
-		dialog.setFilterExtensions(getFilterExpression());
-		String filename = dialog.open();
-		if (filename != null)
-			model.setProperty(IJ2EEComponentImportDataModelProperties.FILE_NAME, filename);
-	}
-
-	/**
-	 * @return
-	 */
-	protected String[] getFilterExpression() {
-		return new String[0];
-	}
-
-	protected void restoreWidgetValues() {
-
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] sourceNames = settings.getArray(STORE_LABEL + getFileNamesStoreID());
-			if (sourceNames == null)
-				return; // ie.- no settings stored
-			for (int i = 0; i < sourceNames.length; i++) {
-				if (sourceNames[i] == null)
-					sourceNames[i] = ""; //$NON-NLS-1$
-			}
-			fileNameCombo.setItems(sourceNames);
-		}
-	}
-
-	public void storeDefaultSettings() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			// update source names history
-			String[] sourceNames = settings.getArray(STORE_LABEL + getFileNamesStoreID());
-			if (sourceNames == null) {
-				sourceNames = new String[0];
-			}
-			// rip out any empty filenames and trim length to 5
-			ArrayList newNames = new ArrayList();
-			for (int i = 0; i < sourceNames.length && i < 5; i++) {
-				if (sourceNames[i].trim().length() > 0) {
-					newNames.add(sourceNames[i]);
-				}
-			}
-			String text = fileNameCombo.getText();
-			newNames.remove(text);
-			newNames.add(0, text);
-			sourceNames = new String[newNames.size()];
-			newNames.toArray(sourceNames);
-
-			// sourceNames = addToHistory(sourceNames,
-			// getJ2EEImportDataModel().getStringProperty(J2EEImportDataModel.FILE_NAME));
-			settings.put(STORE_LABEL + getFileNamesStoreID(), sourceNames);
-			
-			DataModelFacetCreationWizardPage.saveRuntimeSettings(settings, model);
-		}
-	}
-
-	public void restoreDefaultSettings() {
-		IDialogSettings settings = getDialogSettings();
-		DataModelFacetCreationWizardPage.restoreRuntimeSettings(settings, model);
-	}
-	
-	/**
-	 * @return
-	 */
-	protected String getFileNamesStoreID() {
-		return null;
-	}
-
-	/**
-	 * Must override
-	 */
-	protected String getFileImportLabel() {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#enter()
-	 */
-	protected void enter() {
-		super.enter();
-	}
-
-	private boolean launchNewRuntimeWizard(Shell shell, IDataModel model) {
-		DataModelPropertyDescriptor[] preAdditionDescriptors = model.getValidPropertyDescriptors(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
-		boolean isOK = ServerUIUtil.showNewRuntimeWizard(shell, "", "");  //$NON-NLS-1$  //$NON-NLS-2$
-		if (isOK && model != null) {
-			DataModelPropertyDescriptor[] postAdditionDescriptors = model.getValidPropertyDescriptors(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
-			Object[] preAddition = new Object[preAdditionDescriptors.length];
-			for (int i = 0; i < preAddition.length; i++) {
-				preAddition[i] = preAdditionDescriptors[i].getPropertyValue();
-			}
-			Object[] postAddition = new Object[postAdditionDescriptors.length];
-			for (int i = 0; i < postAddition.length; i++) {
-				postAddition[i] = postAdditionDescriptors[i].getPropertyValue();
-			}
-			Object newAddition = ProjectUtilities.getNewObject(preAddition, postAddition);
-
-            model.notifyPropertyChange(IFacetProjectCreationDataModelProperties.FACET_RUNTIME, IDataModel.VALID_VALUES_CHG);
-			if (newAddition != null)
-				model.setProperty(IFacetProjectCreationDataModelProperties.FACET_RUNTIME, newAddition);
-		}
-		return isOK;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleExportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleExportPage.java
deleted file mode 100644
index fa95ee7..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleExportPage.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 4, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentExportDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public abstract class J2EEModuleExportPage extends J2EEExportPage {
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public J2EEModuleExportPage(IDataModel model, String pageName, IStructuredSelection selection) {
-		super(model, pageName, selection);
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IJ2EEComponentExportDataModelProperties.PROJECT_NAME, IJ2EEComponentExportDataModelProperties.ARCHIVE_DESTINATION, IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING};
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleFacetInstallPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleFacetInstallPage.java
deleted file mode 100644
index f21db8f..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleFacetInstallPage.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-
-import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.ui.project.facet.EarSelectionPanel;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-import org.eclipse.wst.web.ui.internal.wizards.DataModelFacetInstallPage;
-
-public abstract class J2EEModuleFacetInstallPage extends DataModelFacetInstallPage implements IJ2EEModuleFacetInstallDataModelProperties {
-
-    private IDataModelListener facetVersionListener = null;
-    protected Button addDD;
-    
-	public J2EEModuleFacetInstallPage(String pageName) {
-		super(pageName);
-	}
-
-	protected EarSelectionPanel earPanel;
-
-	public void dispose() {
-		if (null != earPanel) {
-			earPanel.dispose();
-		}
-		this.model.removeListener( this.facetVersionListener );
-		super.dispose();
-	}
-
-	protected void setupEarControl(final Composite parent) {
-		Composite c = new Composite(parent, SWT.NONE);
-		c.setLayoutData(gdhfill());
-		final GridLayout layout = new GridLayout(3, false);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		c.setLayout(layout);
-		this.earPanel = new EarSelectionPanel(model, c);
-	}
-	
-	protected void createGenerateDescriptorControl( final Composite parent )
-	{
-        this.addDD = new Button(parent, SWT.CHECK);
-        this.addDD.setText(Resources.generateDeploymentDescriptor);
-        //synchHelper.synchCheckbox(addDD, GENERATE_DD, null); bug 215284 - see enter()
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalSpan = 2;
-        this.addDD.setLayoutData(gd);
-	}
-	
-	protected void registerFacetVersionChangeListener()
-	{
-        this.facetVersionListener = new IDataModelListener()
-        {
-            public void propertyChanged( final DataModelEvent event )
-            {
-                if( event.getFlag() == DataModelEvent.VALUE_CHG &&
-                    event.getPropertyName().equals( FACET_VERSION ) )
-                {
-                    final Runnable runnable = new Runnable()
-                    {
-                        public void run()
-                        {
-                            handleFacetVersionChangedEvent();
-                        }
-                    };
-                    if(Thread.currentThread() == Display.getDefault().getThread()){
-                    	runnable.run();
-                    } else {
-                    	Display.getDefault().asyncExec( runnable );
-                    }
-                }
-            }
-        };
-        
-        this.model.addListener( facetVersionListener );
-        handleFacetVersionChangedEvent();
-	}
-	
-    protected void handleFacetVersionChangedEvent()
-    {
-        // The default implementation doesn't do anything. The subclass should override
-        // to handle this event.
-    }
-
-    private static final class Resources extends NLS {
-        public static String generateDeploymentDescriptor;
-
-
-        static {
-            initializeMessages(J2EEModuleFacetInstallPage.class.getName(), Resources.class);
-        }
-    }
-
-    protected void enter() {
-    	if (isFirstTimeToPage() && addDD != null)
-    	{
-    		synchHelper.synchCheckbox(addDD, GENERATE_DD, null);
-    	}
-    	super.enter();
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleFacetInstallPage.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleFacetInstallPage.properties
deleted file mode 100644
index a30b8e8..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleFacetInstallPage.properties
+++ /dev/null
@@ -1 +0,0 @@
-generateDeploymentDescriptor = Generate deployment descriptor
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleImportPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleImportPage.java
deleted file mode 100644
index 87f4430..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEModuleImportPage.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Dec 4, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jst.j2ee.application.internal.operations.J2EEArtifactImportDataModelProvider;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEComponentImportDataModelProperties;
-import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetProjectCreationDataModelProperties;
-import org.eclipse.jst.j2ee.ui.project.facet.EarSelectionPanel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties.FacetDataModelMap;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-
-/**
- * @author cbridgha
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public abstract class J2EEModuleImportPage extends J2EEImportPage {
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	
-	protected EarSelectionPanel earPanel;
-	
-	public J2EEModuleImportPage(IDataModel model, String pageName) {
-		super(model, pageName);
-	}
-
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = super.createTopLevelComposite(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, getInfopopID());
-		createServerEarAndStandaloneGroup(composite);
-		createAnnotationsStandaloneGroup(composite);
-		return composite;
-	}
-
-	/**
-	 * @param composite
-	 */
-	protected void createAnnotationsStandaloneGroup(Composite composite) {
-	}
-
-	protected abstract String getModuleFacetID();	
-	/**
-	 * @param composite
-	 */
-	
-	private void createServerEarAndStandaloneGroup(Composite composite) {
-		IDataModel creationDM = getDataModel().getNestedModel(IJ2EEComponentImportDataModelProperties.NESTED_MODEL_J2EE_COMPONENT_CREATION);
-		FacetDataModelMap map = (FacetDataModelMap) creationDM.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP);
-		IDataModel facetModel = (IDataModel) map.get(getModuleFacetID());
-		
-		Composite c = new Composite(composite, SWT.NONE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		c.setLayoutData(data);
-		final GridLayout layout = new GridLayout(3, false);
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.horizontalSpacing = 0;
-		c.setLayout(layout);
-		earPanel = new EarSelectionPanel(facetModel, c);
-	}
-
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IJ2EEComponentImportDataModelProperties.FILE_NAME,
-					IFacetProjectCreationDataModelProperties.FACET_PROJECT_NAME,
-					IFacetProjectCreationDataModelProperties.FACET_RUNTIME,
-					IJ2EEFacetProjectCreationDataModelProperties.EAR_PROJECT_NAME,
-					IJ2EEFacetProjectCreationDataModelProperties.ADD_TO_EAR,
-					J2EEArtifactImportDataModelProvider.FACET_RUNTIME};
-	}
-
-	public void dispose() {
-		super.dispose();
-		if (earPanel != null)
-			earPanel.dispose();
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportPageNew.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportPageNew.java
deleted file mode 100644
index 5090464..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportPageNew.java
+++ /dev/null
@@ -1,410 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-/*
- * Created on Dec 8, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEUtilityJarListImportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
-
-/**
- * @author mdelder
- */
-public class J2EEUtilityJarImportPageNew extends J2EEImportPage {
-
-	private static final String STORE_LABEL = "J2EE_UTILITY_JAR_LIST_IMPORT_"; //$NON-NLS-1$
-	// private static final int SIZING_TEXT_FIELD_WIDTH = 305;
-
-	private Button deselectAllButton;
-
-	private Button selectAllButton;
-
-	protected Button browseButton;
-
-	protected Button useAlternateRootBtn;
-
-	private Button overwriteProjectCheckbox;
-
-	protected CheckboxTableViewer availableJARsViewer;
-
-	protected boolean utilJarSelectionChanged = false;
-
-	private Combo availableJarsCombo;
-
-	protected Button linkedPathCheckbox;  
-
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public J2EEUtilityJarImportPageNew(IDataModel model, String pageName) {
-		super(model, pageName);
-		setTitle(J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_0")); //$NON-NLS-1$
-		setDescription(J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_1")); //$NON-NLS-1$
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-		setInfopopID(IJ2EEUIContextIds.IMPORT_UTILITY_JAR_WIZARD_P1);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		createUtilityJarFileNameComposite(composite);
-		createLinkedPathVariable(composite);
-		createJARsComposite(composite);
-		createOverwriteCheckbox(composite); 
-
-		restoreWidgetValues();
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	/**
-	 * @param composite
-	 */
-	protected void createUtilityJarFileNameComposite(Composite parent) {
-		Group fileNameGroup = new Group(parent, SWT.NULL);
-		fileNameGroup.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_2")); //$NON-NLS-1$
-		GridLayout layout = new GridLayout(3, false);
-		fileNameGroup.setLayout(layout);
-		fileNameGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label fileLabel = new Label(fileNameGroup, SWT.NONE);
-		fileLabel.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_3")); //$NON-NLS-1$
-		fileLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
-		// setup combo
-		availableJarsCombo = new Combo(fileNameGroup, SWT.SINGLE | SWT.BORDER);
-		availableJarsCombo.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
-
-		// setup browse button
-		browseButton = new Button(fileNameGroup, SWT.PUSH);
-		browseButton.setText(defBrowseButtonLabel);
-		browseButton.setLayoutData((new GridData(GridData.HORIZONTAL_ALIGN_END)));
-		browseButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent e) {
-				handleBrowseButtonPressed();
-			}
-		});
-		browseButton.setEnabled(true);
-
-		synchHelper.synchCombo(availableJarsCombo, IJ2EEUtilityJarListImportDataModelProperties.AVAILABLE_JARS_DIRECTORY, new Control[]{fileLabel, browseButton});
-	}
-
-	protected void createLinkedPathVariable(Composite parent) {
-
-
-		Group linkedPathGroup = new Group(parent, SWT.NULL);
-		linkedPathGroup.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_4")); //$NON-NLS-1$
-
-		GridLayout layout = new GridLayout(1, true);
-		linkedPathGroup.setLayout(layout);
-		linkedPathGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Composite checkboxGroup = new Composite(linkedPathGroup, SWT.NULL);
-		GridLayout checkboxLayout = new GridLayout(2, false);
-		checkboxGroup.setLayout(checkboxLayout);
-		checkboxGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		linkedPathCheckbox = new Button(checkboxGroup, SWT.CHECK);
-		linkedPathCheckbox.setText(" "); //$NON-NLS-1$
-		final Text linkedPathText = new Text(checkboxGroup, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
-		linkedPathText.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_5")); //$NON-NLS-1$
-		linkedPathText.setEnabled(getDataModel().isPropertyEnabled(IJ2EEUtilityJarListImportDataModelProperties.CREATE_LINKED_PATH_VARIABLE));
-		
-		getDataModel().addListener(new IDataModelListener() {
-			public void propertyChanged(DataModelEvent event) {
-				if(IJ2EEUtilityJarListImportDataModelProperties.CREATE_LINKED_PATH_VARIABLE.equals(event.getPropertyName())) {
-					linkedPathText.setEnabled(getDataModel().isPropertyEnabled(IJ2EEUtilityJarListImportDataModelProperties.CREATE_LINKED_PATH_VARIABLE));
-				}
-				
-			}
-		});
-		
-		GridData textGridData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
-		textGridData.heightHint = 50;
-		textGridData.widthHint = 350;
-		linkedPathText.setLayoutData(textGridData);
-		linkedPathText.setBackground(checkboxGroup.getBackground());
-
-		// setup combo
-		Combo availableLinkedPathsCombo = new Combo(linkedPathGroup, SWT.SINGLE | SWT.BORDER);
-		availableLinkedPathsCombo.setLayoutData((new GridData(GridData.FILL_HORIZONTAL)));
-
-		synchHelper.synchCombo(availableLinkedPathsCombo, IJ2EEUtilityJarListImportDataModelProperties.LINKED_PATH_VARIABLE, new Control[]{availableLinkedPathsCombo});
-
-		synchHelper.synchCheckbox(linkedPathCheckbox, IJ2EEUtilityJarListImportDataModelProperties.CREATE_LINKED_PATH_VARIABLE, new Control[]{availableLinkedPathsCombo});
-
-	}
-
-	/**
-	 * Open an appropriate directory browser
-	 */
-	protected void handleBrowseButtonPressed() {
-		DirectoryDialog dialog = new DirectoryDialog(browseButton.getShell());
-		dialog.setMessage(J2EEUIMessages.getResourceString(J2EEUIMessages.SELECT_DIRECTORY_DLG));
-
-		String dirName = getBrowseStartLocation();
-
-		if (!isNullOrEmpty(dirName)) {
-			File path = new File(dirName);
-			if (path.exists())
-				dialog.setFilterPath(dirName);
-		}
-
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null)
-			availableJarsCombo.setText(selectedDirectory);
-	}
-
-	/**
-	 * @return
-	 */
-	protected String getBrowseStartLocation() {
-		if (availableJarsCombo.getText() != null && availableJarsCombo.getText().length() > 0)
-			return availableJarsCombo.getText();
-		return null;
-	}
-
-	protected boolean isNullOrEmpty(String aString) {
-		return aString == null || aString.length() == 0;
-	}
-
-	/*
-	 * Updates the enable state of the all buttons
-	 */
-	protected void updateButtonEnablements() {
-
-		utilJarSelectionChanged = true;
-	}
-
-	protected void createAvailableJarsList(Composite listGroup) {
-		availableJARsViewer = CheckboxTableViewer.newCheckList(listGroup, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-
-		GridData gData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
-		gData.widthHint = 200;
-		gData.heightHint = 80;
-		availableJARsViewer.getControl().setLayoutData(gData);
-		AvailableUtilityJarsProvider availableUtilJARsProvider = new AvailableUtilityJarsProvider();
-		availableJARsViewer.setContentProvider(availableUtilJARsProvider);
-		availableJARsViewer.setLabelProvider(availableUtilJARsProvider);
-
-		availableJARsViewer.getTable().setHeaderVisible(false);
-		availableJARsViewer.getTable().setLinesVisible(false);
-
-		availableJARsViewer.setInput(model);
-
-		/* getModel().addListener(getOperationDataModelListener()); */
-		synchHelper.synchCheckBoxTableViewer(availableJARsViewer, IJ2EEUtilityJarListImportDataModelProperties.UTILITY_JAR_LIST, null);
-
-
-		model.addListener(new IDataModelListener() {
-
-			public void propertyChanged(DataModelEvent event) {
-				if (IJ2EEUtilityJarListImportDataModelProperties.AVAILABLE_JARS_DIRECTORY.equals(event.getPropertyName()))
-					availableJARsViewer.setInput(model);
-			}
-		});
-	}
-
-	private void handleDeselectAllButtonPressed() {
-		model.setProperty(IJ2EEUtilityJarListImportDataModelProperties.UTILITY_JAR_LIST, new Object[0]);
-	}
-
-	private void handleSelectAllButtonPressed() {
-		Object[] selection = new Object[availableJARsViewer.getTable().getItemCount()];
-		for (int i = 0; i < selection.length; i++) {
-			selection[i] = availableJARsViewer.getElementAt(i);
-		}
-		model.setProperty(IJ2EEUtilityJarListImportDataModelProperties.UTILITY_JAR_LIST, selection);
-	}
-
-	protected void createButtonsGroup(org.eclipse.swt.widgets.Composite parent) {
-		Composite buttonGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 4;
-		buttonGroup.setLayout(layout);
-		buttonGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		selectAllButton = new Button(buttonGroup, SWT.PUSH);
-		selectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_SELECT_ALL_UTIL_BUTTON)); //$NON-NLS-1$ = "Select All"
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 1;
-		gd.heightHint = 22;
-		gd.widthHint = 120;
-		selectAllButton.setLayoutData(gd);
-		selectAllButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent e) {
-				handleSelectAllButtonPressed();
-			}
-		});
-
-		deselectAllButton = new Button(buttonGroup, SWT.PUSH);
-		deselectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_DESELECT_ALL_UTIL_BUTTON)); //$NON-NLS-1$ = "Deselect All"
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 2;
-		gd.heightHint = 22;
-		gd.widthHint = 120;
-		deselectAllButton.setLayoutData(gd);
-		deselectAllButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent e) {
-				handleDeselectAllButtonPressed();
-			}
-		});
-	}
-
-	protected void createJARsComposite(Composite parent) {
-		Group group = new Group(parent, SWT.NULL);
-		group.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_IMPORT_JARS_GROUP));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label description = new Label(group, SWT.NULL);
-		description.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.J2EE_UTILITY_JAR_LISTEAR_IMPORT_SELECT_UTIL_JARS_TO_BE_PROJECTS));
-		GridData gd2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd2.horizontalSpan = 2;
-		description.setLayoutData(gd2);
-
-		// create jars check box viewer
-		createAvailableJarsList(group);
-		createButtonsGroup(group);
-	}
-
-	/**
-	 * @param projectOptionsGroup
-	 */
-	protected void createOverwriteCheckbox(Composite parent) {
-
-		overwriteProjectCheckbox = new Button(parent, SWT.CHECK);
-		overwriteProjectCheckbox.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_6")); //$NON-NLS-1$
-		synchHelper.synchCheckbox(overwriteProjectCheckbox, IJ2EEUtilityJarListImportDataModelProperties.OVERWRITE_IF_NECESSARY, null);
-	}
-
-	protected void setJARsCompositeEnabled(boolean enabled) {
-		availableJARsViewer.getTable().setEnabled(enabled);
-		availableJARsViewer.setAllChecked(false);
-		availableJARsViewer.setAllGrayed(!enabled);
-		selectAllButton.setEnabled(enabled);
-		deselectAllButton.setEnabled(enabled);
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IJ2EEUtilityJarListImportDataModelProperties.UTILITY_JAR_LIST, IJ2EEUtilityJarListImportDataModelProperties.OVERWRITE_IF_NECESSARY, IJ2EEUtilityJarListImportDataModelProperties.LINKED_PATH_VARIABLE};
-	}
-
-	protected void restoreWidgetValues() {
-
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] sourceNames = settings.getArray(STORE_LABEL + getFileNamesStoreID());
-			if (sourceNames == null)
-				return; // ie.- no settings stored
-			for (int i = 0; i < sourceNames.length; i++) {
-				if (sourceNames[i] == null)
-					sourceNames[i] = ""; //$NON-NLS-1$
-			}
-			availableJarsCombo.setItems(sourceNames);
-		}
-	}
-
-	public void storeDefaultSettings() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			// update source names history
-			String[] sourceNames = settings.getArray(STORE_LABEL + getFileNamesStoreID());
-			if (sourceNames == null) {
-				sourceNames = new String[0];
-			}
-
-			String newName = availableJarsCombo.getText();
-
-			// rip out any empty filenames and trim length to 5
-			ArrayList newNames = new ArrayList();
-			for (int i = 0; i < sourceNames.length && i < 5; i++) {
-				if (sourceNames[i].trim().length() > 0 && !newName.equals(sourceNames[i])) {
-					newNames.add(sourceNames[i]);
-				}
-			}
-			newNames.add(0, availableJarsCombo.getText());
-			sourceNames = new String[newNames.size()];
-			newNames.toArray(sourceNames);
-
-			settings.put(STORE_LABEL + getFileNamesStoreID(), sourceNames);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFileNamesStoreID()
-	 */
-	protected String getFileNamesStoreID() {
-		return "UTIL";//$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jst.j2ee.internal.internal.internal.ui.wizard.J2EEImportPage#getFileImportLabel()
-	 */
-	protected String getFileImportLabel() {
-		return J2EEUIMessages.getResourceString("J2EEUtilityJarImportPage_UI_7"); //$NON-NLS-1$
-	}
-	
-	
-	public void restoreDefaultSettings() {
-	}
- 
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportTypePageNew.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportTypePageNew.java
deleted file mode 100644
index 59d1045..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportTypePageNew.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-/*
- * Created on May 13, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jst.j2ee.application.Application;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.datamodel.properties.IJ2EEUtilityJarListImportDataModelProperties;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-
-/**
- * @author mdelder
- * 
- * TODO To change the template for this generated type comment go to Window - Preferences - Java -
- * Code Generation - Code and Comments
- */
-public class J2EEUtilityJarImportTypePageNew extends DataModelWizardPage {
-
-	protected static final String defBrowseButtonLabel = J2EEUIMessages.getResourceString(J2EEUIMessages.BROWSE_LABEL); //$NON-NLS-1$
-
-	private static final int SIZING_TEXT_FIELD_WIDTH = 305;
-
-	protected IStructuredSelection currentResourceSelection;
-
-	private Combo resourceNameCombo;
-
-	private Button copyJarIntoEAR;
-
-	private Button linkJarIntoEAR;
-
-	private Button createLinkedProjects;
-
-	private Button createProjects;
-
-	protected Button browseButton;
-
-	private Button overrideProjectRootCheckbox;
-
-
-	protected Text projectRootLocationText;
-
-	private Label moduleProjectLocationLabel;
-
-	protected boolean synching;
-
-	public static final String TITLE = J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_0"); //$NON-NLS-1$
-	public static final String DESCRIPTION = J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_1"); //$NON-NLS-1$
-
-	private Group projectRootComposite;
-
-
-	/**
-	 * @param model
-	 * @param pageName
-	 * @param title
-	 * @param titleImage
-	 */
-	public J2EEUtilityJarImportTypePageNew(IDataModel model, String pageName, String title, ImageDescriptor titleImage) {
-		super(model, pageName, title, titleImage);
-		setTitle(""); //$NON-NLS-1$
-		setDescription(""); //$NON-NLS-1$
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-		setInfopopID(IJ2EEUIContextIds.IMPORT_UTILITY_JAR_WIZARD_P2);
-	}
-
-	public J2EEUtilityJarImportTypePageNew(IDataModel model, String pageName, IStructuredSelection selection) {
-		super(model, pageName);
-		this.currentResourceSelection = selection;
-		setTitle(TITLE);
-		setDescription(DESCRIPTION);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-	}
-
-	public J2EEUtilityJarImportTypePageNew(IDataModel model, String pageName) {
-		super(model, pageName);
-		setTitle(TITLE);
-		setDescription(DESCRIPTION);
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_IMPORT_WIZARD_BANNER));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#getValidationPropertyNames()
-	 */
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IJ2EEUtilityJarListImportDataModelProperties.EAR_PROJECT_NAME, IJ2EEUtilityJarListImportDataModelProperties.PROJECT_ROOT};
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.WTPWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout(1, false);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		createEARProjectGroup(composite);
-		createUtilityJarImportTypes(composite);
-		// TODO The binary / project location options are not yet (re-) supported by the import operations. 
-		createProjectCreationOptions(composite);
-
-		setupBasedOnInitialSelections();
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	/**
-	 * @param composite
-	 */
-	protected void createUtilityJarImportTypes(Composite parent) {
-		Group typesGroup = new Group(parent, SWT.NULL);
-		typesGroup.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_2")); //$NON-NLS-1$
-
-		GridLayout layout = new GridLayout(1, false);
-		typesGroup.setLayout(layout);
-		typesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		createProjects = new Button(typesGroup, SWT.RADIO);
-		createProjects.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_3")); //$NON-NLS-1$
-		synchHelper.synchRadio(createProjects, IJ2EEUtilityJarListImportDataModelProperties.CREATE_PROJECT, null);
-
-		createLinkedProjects = new Button(typesGroup, SWT.RADIO);
-		createLinkedProjects.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_4")); //$NON-NLS-1$
-		synchHelper.synchRadio(createLinkedProjects, IJ2EEUtilityJarListImportDataModelProperties.CREATE_LINKED_PROJECT, null);
-
-		copyJarIntoEAR = new Button(typesGroup, SWT.RADIO);
-		copyJarIntoEAR.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_5")); //$NON-NLS-1$
-		synchHelper.synchRadio(copyJarIntoEAR, IJ2EEUtilityJarListImportDataModelProperties.COPY, null);
-
-		linkJarIntoEAR = new Button(typesGroup, SWT.RADIO);
-		linkJarIntoEAR.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_6")); //$NON-NLS-1$
-		/* linkJarIntoEAR.addSelectionListener(getTypeSelectionListener()); */
-		synchHelper.synchRadio(linkJarIntoEAR, IJ2EEUtilityJarListImportDataModelProperties.LINK_IMPORT, null);
-
-	}
-
-	protected void createProjectCreationOptions(Composite parent) {
-
-		Group projectOptionsGroup = new Group(parent, SWT.NULL);
-		projectOptionsGroup.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_7")); //$NON-NLS-1$
-
-		GridLayout layout = new GridLayout(1, false);
-		projectOptionsGroup.setLayout(layout);
-		projectOptionsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); 
-
-		overrideProjectRootCheckbox = new Button(projectOptionsGroup, SWT.CHECK);
-		overrideProjectRootCheckbox.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_11")); //$NON-NLS-1$
-		createProjectRootComposite(projectOptionsGroup);
-
-		synchHelper.synchCheckbox(overrideProjectRootCheckbox, IJ2EEUtilityJarListImportDataModelProperties.OVERRIDE_PROJECT_ROOT, new Control[]{/*
-																																					 * moduleProjectLocationLabel,
-																																					 * projectRootLocationText,
-																																					 * browseButton
-																																					 */});
-	}
-
-	/**
-	 * 
-	 * @param parent
-	 *            a <code>Composite</code> that is to be used as the parent of this group's
-	 *            collection of visual components
-	 * @see org.eclipse.swt.widgets.Composite
-	 */
-	protected void createEARProjectGroup(Composite parent) {
-
-		Group earGroup = new Group(parent, SWT.NULL);
-		earGroup.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_8")); //$NON-NLS-1$
-
-		GridLayout layout = new GridLayout(2, false);
-		earGroup.setLayout(layout);
-		earGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// Project label
-		Label projectLabel = new Label(earGroup, SWT.NONE);
-		projectLabel.setText(J2EEUIMessages.getResourceString("J2EEUtilityJarImportTypePage_UI_9")); //$NON-NLS-1$
-		// Project combo
-		resourceNameCombo = new Combo(earGroup, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		resourceNameCombo.setLayoutData(data);
-		synchHelper.synchCombo(resourceNameCombo, IJ2EEUtilityJarListImportDataModelProperties.EAR_PROJECT_NAME, null);
-
-	}
-
-	protected void createProjectRootComposite(Composite parent) {
-		projectRootComposite = new Group(parent, SWT.NULL);
-		projectRootComposite.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.PROJECT_LOCATIONS_GROUP));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		projectRootComposite.setLayout(layout);
-		projectRootComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label description = new Label(projectRootComposite, SWT.NULL);
-		description.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.NEW_PROJECT_GROUP_DESCRIPTION));
-		GridData gd2 = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd2.horizontalSpan = 3;
-		description.setLayoutData(gd2);
-
-		moduleProjectLocationLabel = new Label(projectRootComposite, SWT.NULL);
-		moduleProjectLocationLabel.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.USE_DEFAULT_ROOT_RADIO));
-		moduleProjectLocationLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		projectRootLocationText = new Text(projectRootComposite, SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		projectRootLocationText.setLayoutData(gd);
-		projectRootLocationText.setText(ResourcesPlugin.getWorkspace().getRoot().getFullPath().toOSString());
-		projectRootLocationText.setEnabled(false); /* disabled by default */
-
-		browseButton = new Button(projectRootComposite, SWT.PUSH);
-		browseButton.setText(defBrowseButtonLabel);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		browseButton.setLayoutData(gd);
-		browseButton.addSelectionListener(new SelectionAdapter() {
-
-			public void widgetSelected(SelectionEvent e) {
-				handleRootProjectBrowseButtonPressed();
-			}
-		});
-
-		synchHelper.synchText(projectRootLocationText, IJ2EEUtilityJarListImportDataModelProperties.PROJECT_ROOT, new Control[]{moduleProjectLocationLabel, projectRootLocationText, browseButton});
-	}
-
-
-	/**
-	 * Open an appropriate directory browser
-	 */
-	protected void handleRootProjectBrowseButtonPressed() {
-		DirectoryDialog dialog = new DirectoryDialog(browseButton.getShell());
-		dialog.setMessage(J2EEUIMessages.getResourceString(J2EEUIMessages.SELECT_DIRECTORY_DLG));
-
-		String dirName = getBrowseStartLocation();
-
-		if (!isNullOrEmpty(dirName)) {
-			File path = new File(dirName);
-			if (path.exists())
-				dialog.setFilterPath(dirName);
-		}
-
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null)
-			projectRootLocationText.setText(selectedDirectory);
-
-	}
-
-	protected String getBrowseStartLocation() {
-		String text = projectRootLocationText.getText();
-		return text;
-	}
-
-
-	protected boolean isNullOrEmpty(String aString) {
-		return aString == null || aString.length() == 0;
-	}
-
-	/**
-	 * Populates the resource name field based upon the currently-selected resources.
-	 */
-	protected void setupBasedOnInitialSelections() {
-
-		if (null == currentResourceSelection || currentResourceSelection.isEmpty() || setupBasedOnRefObjectSelection())
-			return; // no
-		// setup
-		// needed
-
-		java.util.List selections = new ArrayList();
-		Iterator aenum = currentResourceSelection.iterator();
-		while (aenum.hasNext()) {
-			IResource currentResource = (IResource) aenum.next();
-			// do not add inaccessible elements
-			if (currentResource.isAccessible())
-				selections.add(currentResource);
-		}
-		if (selections.isEmpty())
-			return; // setup not needed anymore
-
-		int selectedResourceCount = selections.size();
-		if (selectedResourceCount == 1) {
-			IResource resource = (IResource) selections.get(0);
-			if (resource instanceof IProject ) {
-				resourceNameCombo.setText(resource.getName().toString());
-			}
-		}
-	}
-
-	/**
-	 * Populates the resource name field based upon the currently-selected resources.
-	 */
-	protected boolean setupBasedOnRefObjectSelection() {
-
-		if (currentResourceSelection.size() != 1)
-			return false;
-
-		Object o = currentResourceSelection.getFirstElement();
-		if (!isMetaTypeSupported(o))
-			return false;
-
-		EObject ref = (EObject) o;
-		IResource resource = ProjectUtilities.getProject(ref);
-		if (resource != null)
-			resourceNameCombo.setText(resource.getName().toString());
-		return true;
-	}
-
-	protected boolean isMetaTypeSupported(Object o) {
-		return o instanceof EARFile || o instanceof Application;
-	}
-
-	protected void enableProjectOptions(boolean enabled) { 
-		overrideProjectRootCheckbox.setEnabled(enabled);
-
-		if (overrideProjectRootCheckbox.getSelection() && enabled)
-			projectRootLocationText.setEnabled(true);
-		else
-			projectRootLocationText.setEnabled(false);
-	}
-
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.wizard.WizardPage#isPageComplete()
-	 */
-	public boolean isPageComplete() {
-		return model.validateProperty(IJ2EEUtilityJarListImportDataModelProperties.EAR_PROJECT_NAME).isOK();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportWizardNew.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportWizardNew.java
deleted file mode 100644
index d16a57a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/J2EEUtilityJarImportWizardNew.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import org.eclipse.jst.j2ee.application.internal.operations.J2EEUtilityJarListImportDataModelProvider;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
-import org.eclipse.wst.project.facet.IProductConstants;
-import org.eclipse.wst.project.facet.ProductManager;
-
-
-/**
- * <p>
- * Used to import Utility Jars into several Eclipse workbench configurations. These can be extracted
- * as editable projects, binary projects, linked resources in the EAR module or actual resources in
- * the EAR module.
- * </p>
- */
-public final class J2EEUtilityJarImportWizardNew extends J2EEArtifactImportWizard implements IImportWizard {
-
-	/**
-	 * <p>
-	 * Constant used to identify the key of the page of the Wizard which allows users to define the
-	 * type of import they would like to carry out.
-	 * </p>
-	 */
-	private static final String IMPORT_TYPE = "IMPORT_TYPE"; //$NON-NLS-1$
-
-	/**
-	 * <p>
-	 * Constant used to identify the key of the page of the Wizard that allows users to select jar
-	 * files for import
-	 * </p>
-	 */
-	private static final String SELECT_JARS = "SELECT_JARS"; //$NON-NLS-1$
- 
-
-	/**
-	 * <p>
-	 * The default constructor. Creates a wizard with no selection, no model instance, and no
-	 * operation instance. The model and operation will be created as needed.
-	 * </p>
-	 */
-	public J2EEUtilityJarImportWizardNew() {
-		super();
-		setWindowTitle(J2EEUIMessages.getResourceString("38")); //$NON-NLS-1$
-	}
-
-	/**
-	 * <p>
-	 * The model is used to prepopulate the wizard controls and interface with the operation.
-	 * </p>
-	 * 
-	 * @param model
-	 *            The model parameter is used to pre-populate wizard controls and interface with the
-	 *            operation
-	 */
-	public J2EEUtilityJarImportWizardNew(IDataModel model) {
-		super(model);
-		setWindowTitle(J2EEUIMessages.getResourceString("38")); //$NON-NLS-1$
-	}
-
-	/**
-	 * <p>
-	 * Adds the following pages:
-	 * <ul>
-	 * <li>{@link J2EEUtilityJarImportTypePageNew}as the main wizard page ({@link #IMPORT_TYPE})
-	 * <li>{@link J2EEUtilityJarImportPageNew}as the main wizard page ({@link #SELECT_JARS})
-	 * </ul>
-	 * </p>
-	 */
-	public void doAddPages() {
-		this.addPage(new J2EEUtilityJarImportTypePageNew(getDataModel(), IMPORT_TYPE, getSelection()));
-		this.addPage(new J2EEUtilityJarImportPageNew(getDataModel(), SELECT_JARS));
-	}
-
-	protected IDataModelProvider getDefaultProvider() {
-		return new J2EEUtilityJarListImportDataModelProvider();
-	}
-	
-	protected String getFinalPerspectiveID() {
-        return ProductManager.getProperty(IProductConstants.FINAL_PERSPECTIVE_UTILITY);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/MinimizedFileSystemElement.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/MinimizedFileSystemElement.java
deleted file mode 100644
index eb878c0..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/MinimizedFileSystemElement.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ui.dialogs.FileSystemElement;
-import org.eclipse.ui.model.AdaptableList;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-
-/**
- * The <code>MinimizedFileSystemElement</code> is a <code>FileSystemElement</code> that knows if
- * it has been populated or not.
- */
-class MinimizedFileSystemElement extends FileSystemElement {
-	private boolean populated = false;
-	private String packageBaseDirName = null;
-
-
-	/**
-	 * Create a <code>MinimizedFileSystemElement</code> with the supplied name and parent.
-	 * 
-	 * @param name
-	 *            the name of the file element this represents
-	 * @param parent
-	 *            the containing parent
-	 * @param isDirectory
-	 *            indicated if this could have children or not
-	 */
-	MinimizedFileSystemElement(String name, org.eclipse.ui.dialogs.FileSystemElement parent, boolean isDirectory) {
-		super(name, parent, isDirectory);
-	}
-
-	public void setPackageBaseDirName(String s) {
-		packageBaseDirName = s;
-	}
-
-	public void addChild(FileSystemElement child) {
-		if (child.isDirectory()) {
-			super.addChild(child);
-		} else {
-			if (child.getFileNameExtension().equals("class")) { //$NON-NLS-1$
-				super.addChild(child);
-			}
-		}
-	}
-
-	/**
-	 * Returns a list of the files that are immediate children. Use the supplied provider if it
-	 * needs to be populated. of this folder.
-	 */
-	public AdaptableList getFiles(IImportStructureProvider provider) {
-		if (!populated)
-			populate(provider);
-
-		return super.getFiles();
-
-	}
-
-	/**
-	 * Returns a list of the folders that are immediate children. Use the supplied provider if it
-	 * needs to be populated. of this folder.
-	 */
-	public AdaptableList getFolders(IImportStructureProvider provider) {
-		if (!populated)
-			populate(provider);
-
-		return super.getFolders();
-
-	}
-
-	/**
-	 * Return whether or not population has happened for the receiver.
-	 */
-	boolean isPopulated() {
-		return this.populated;
-	}
-
-	/**
-	 * Return whether or not population has not happened for the receiver.
-	 */
-	boolean notPopulated() {
-		return !this.populated;
-	}
-
-	/**
-	 * Populate the files and folders of the receiver using the suppliec structure provider.
-	 * 
-	 * @param provider
-	 *            org.eclipse.ui.wizards.datatransfer.IImportStructureProvider
-	 */
-	private void populate(IImportStructureProvider provider) {
-
-		Object fileSystemObject = getFileSystemObject();
-
-		List children = provider.getChildren(fileSystemObject);
-		if (children == null)
-			children = new ArrayList(1);
-		Iterator childrenEnum = children.iterator();
-		while (childrenEnum.hasNext()) {
-			Object child = childrenEnum.next();
-
-			String elementLabel = provider.getLabel(child);
-			if (elementLabel.equals(packageBaseDirName) || packageBaseDirName == null) {
-				//Create one level below
-
-				MinimizedFileSystemElement result = new MinimizedFileSystemElement(elementLabel, this, provider.isFolder(child));
-				result.setFileSystemObject(child);
-			}
-		}
-		setPopulated();
-
-	}
-
-	/**
-	 * Set whether or not population has happened for the receiver to true.
-	 */
-	void setPopulated() {
-		this.populated = true;
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJ2EEComponentSelectionPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJ2EEComponentSelectionPage.java
deleted file mode 100644
index 9c32549..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJ2EEComponentSelectionPage.java
+++ /dev/null
@@ -1,524 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-/*
- * Created on Mar 23, 2005
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.earcreation.IDefaultJ2EEComponentCreationDataModelProperties;
-import org.eclipse.jst.j2ee.internal.moduleextension.EarModuleManager;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StackLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.internal.WorkbenchPlugin;
-import org.eclipse.ui.wizards.IWizardDescriptor;
-import org.eclipse.ui.wizards.IWizardRegistry;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-import org.eclipse.wst.common.frameworks.internal.ui.GenericWizardNode;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
-import org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard;
-
-public class NewJ2EEComponentSelectionPage extends DataModelWizardPage implements IDefaultJ2EEComponentCreationDataModelProperties {
-    private Button defaultModulesButton;
-
-    private Composite defaultModulesComposite;
-
-    private Composite newModulesComposite;
-
-    private Button appClientRadioButton;
-
-    private Button ejbRadioButton;
-
-    private Button webRadioButton;
-
-    private Button connectorRadioButton;
-
-    private GenericWizardNode appClientNode;
-
-    private GenericWizardNode ejbNode;
-
-    private GenericWizardNode webNode;
-
-    private GenericWizardNode connectorNode;
-
-    private GenericWizardNode selectedNode;
-
-    private StackLayout stackLayout;
-
-    /**
-     * @param model
-     * @param pageName
-     */
-    protected NewJ2EEComponentSelectionPage(IDataModel model, String pageName) {
-        super(model, pageName);
-        setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_PAGE_TITLE));
-        setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_PAGE_DESC));
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.J2EEWizardPage#getValidationPropertyNames()
-     */
-    protected String[] getValidationPropertyNames() {
-        return new String[] { CREATE_APPCLIENT, APPCLIENT_COMPONENT_NAME, CREATE_CONNECTOR, CONNECTOR_COMPONENT_NAME, CREATE_EJB, EJB_COMPONENT_NAME, CREATE_WEB, WEB_COMPONENT_NAME, MODULE_NAME_COLLISIONS_VALIDATION, ENABLED };
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.J2EEWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-     */
-    protected Composite createTopLevelComposite(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 1;
-        composite.setLayout(layout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        setInfopopID(IJ2EEUIContextIds.EAR_NEW_MODULE_PROJECTS_PAGE);
-        createDefaultCheckBox(composite);
-        Composite forStackComposite = new Composite(composite, SWT.NULL);
-        layout = new GridLayout();
-        forStackComposite.setLayout(layout);
-        forStackComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        Composite stackComposite = createStackLayoutComposite(forStackComposite);
-        createDefaultModulesComposite(stackComposite);
-        createModuleSelectionComposite(stackComposite);
-        stackLayout.topControl = defaultModulesComposite;
-        setButtonEnablement();
-	    Dialog.applyDialogFont(parent);
-        return composite;
-    }
-
-    protected Composite createStackLayoutComposite(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
-        stackLayout = new StackLayout();
-        composite.setLayout(stackLayout);
-        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        return composite;
-    }
-
-    private void createDefaultModulesComposite(Composite parent) {
-        defaultModulesComposite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2;
-        layout.marginHeight = 0;
-        defaultModulesComposite.setLayout(layout);
-        defaultModulesComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        // Default Module Controls creation
-        createAppClientDefaultModuleControl();
-        if (J2EEPlugin.isEJBSupportAvailable())
-            createEJBDefaultModuleControl();
-        createWebDefaultModuleControl();
-        if (J2EEPlugin.isEJBSupportAvailable())
-            createConnectorDefaultModuleControl();
-    }
-
-    /**
-     * @param parent
-     */
-    private void createModuleSelectionComposite(Composite parent) {
-        newModulesComposite = new Composite(parent, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 1;
-        newModulesComposite.setLayout(layout);
-        newModulesComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-        appClientRadioButton = new Button(newModulesComposite, SWT.RADIO);
-
-        appClientRadioButton.setText(J2EEUIMessages.getResourceString("NewModuleSelectionPage.appClient")); //$NON-NLS-1$
-        appClientRadioButton.addListener(SWT.Selection, this);
-        if (EarModuleManager.getEJBModuleExtension() != null) {
-            ejbRadioButton = new Button(newModulesComposite, SWT.RADIO);
-            ejbRadioButton.setText(J2EEUIMessages.getResourceString("NewModuleSelectionPage.ejb")); //$NON-NLS-1$
-            ejbRadioButton.addListener(SWT.Selection, this);
-        }
-        if (EarModuleManager.getWebModuleExtension() != null) {
-            webRadioButton = new Button(newModulesComposite, SWT.RADIO);
-            webRadioButton.setText(J2EEUIMessages.getResourceString("NewModuleSelectionPage.web")); //$NON-NLS-1$
-            webRadioButton.addListener(SWT.Selection, this);
-        }
-        if (EarModuleManager.getJCAModuleExtension() != null) {
-            connectorRadioButton = new Button(newModulesComposite, SWT.RADIO);
-            connectorRadioButton.setText(J2EEUIMessages.getResourceString("NewModuleSelectionPage.jca")); //$NON-NLS-1$
-            connectorRadioButton.addListener(SWT.Selection, this);
-        }
-    }
-
-    /**
-     * 
-     */
-    private void createConnectorDefaultModuleControl() {
-        if (EarModuleManager.getJCAModuleExtension() != null) {
-            String label = J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_PAGE_JCA_MODULE_LBL);
-            createJ2EEComponentControl(label, CREATE_CONNECTOR, CONNECTOR_COMPONENT_NAME);
-        }
-    }
-
-    /**
-     * 
-     */
-    private void createWebDefaultModuleControl() {
-        if (EarModuleManager.getWebModuleExtension() != null) {
-            String label = J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_PAGE_WEB_MODULE_LBL);
-            createJ2EEComponentControl(label, CREATE_WEB, WEB_COMPONENT_NAME);
-        }
-    }
-
-    /**
-     * 
-     */
-    private void createEJBDefaultModuleControl() {
-        if (EarModuleManager.getEJBModuleExtension() != null) {
-            String label = J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_PAGE_EJB_MODULE_LBL);
-            createJ2EEComponentControl(label, CREATE_EJB, EJB_COMPONENT_NAME);
-        }
-    }
-
-    private void createAppClientDefaultModuleControl() {
-        String label = J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_PAGE_APPCLIENT_MODULE_LBL);
-        createJ2EEComponentControl(label, CREATE_APPCLIENT, APPCLIENT_COMPONENT_NAME);
-    }
-
-    private void createJ2EEComponentControl(String label, String createProperty, String projectProperty) {
-        final Button checkBox = new Button(defaultModulesComposite, SWT.CHECK);
-        checkBox.setSelection(true);
-        checkBox.setText(label);
-
-        final Text textField = new Text(defaultModulesComposite, SWT.BORDER);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        textField.setLayoutData(data);
-        synchHelper.synchCheckbox(checkBox, createProperty, null);
-        synchHelper.synchText(textField, projectProperty, null);
-    }
-
-    private void createDefaultCheckBox(Composite composite) {
-        Composite checkBoxComposite = new Composite(composite, SWT.NULL);
-        GridLayout layout = new GridLayout();
-        checkBoxComposite.setLayout(layout);
-        checkBoxComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-        defaultModulesButton = new Button(checkBoxComposite, SWT.CHECK);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-        data.horizontalIndent = 0;
-        defaultModulesButton.setLayoutData(data);
-        defaultModulesButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.DEFAULT_COMPONENT_PAGE_NEW_MOD_SEL_PG_DEF_BTN));
-        defaultModulesButton.setSelection(true);
-        defaultModulesButton.addListener(SWT.Selection, this);
-        synchHelper.synchCheckbox(defaultModulesButton, ENABLED, null);
-        createControlsSeparatorLine(checkBoxComposite);    
-        }
-
-    protected void createControlsSeparatorLine(Composite parent) {
-        // add a horizontal line
-        Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-        GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-        separator.setLayoutData(data);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-     */
-    public void handleEvent(Event evt) {
-        if (evt.widget == defaultModulesButton)
-            handleDefaultModulesButtonPressed();
-        else if (!defaultModulesButton.getSelection()) {
-            if (evt.widget == appClientRadioButton && appClientRadioButton.getSelection())
-                setSelectedNode(getAppClientNode());
-            else if (evt.widget == ejbRadioButton && ejbRadioButton.getSelection())
-                setSelectedNode(getEjbNode());
-            else if (evt.widget == webRadioButton && webRadioButton.getSelection())
-                setSelectedNode(getWebNode());
-            else if (evt.widget == connectorRadioButton && connectorRadioButton.getSelection())
-                setSelectedNode(getConnectorNode());
-            validatePage();
-        }
-        super.handleEvent(evt);
-    }
-
-    /**
-     * 
-     */
-    private void handleDefaultModulesButtonPressed() {
-        if (defaultModulesButton.getSelection()) {
-            setSelectedNode(null);
-            showDefaultModulesComposite();
-            setDefaultModulesSelection(true);
-        } else {
-            setDefaultModulesSelection(false);
-            showNewModulesCompsite();
-        }
-        setButtonEnablement();
-        validatePage();
-    }
-
-    private void setDefaultModulesSelection(boolean selection) {
-        getDataModel().setBooleanProperty(CREATE_APPCLIENT, selection);
-        getDataModel().setBooleanProperty(CREATE_CONNECTOR, selection);
-        getDataModel().setBooleanProperty(CREATE_EJB, selection);
-        getDataModel().setBooleanProperty(CREATE_WEB, selection);
-    }
-
-    private void showDefaultModulesComposite() {
-        defaultModulesComposite.setVisible(true);
-        newModulesComposite.setVisible(false);
-        stackLayout.topControl = defaultModulesComposite;
-    }
-
-    /**
-     * This is done based on the J2EE version. We need to disable Connectors if
-     * not j2ee 1.3 or higher.
-     */
-    private void setButtonEnablement() {
-        if (!defaultModulesButton.getSelection() && connectorRadioButton != null) {
-            int version = getDataModel().getIntProperty(J2EE_VERSION);
-            connectorRadioButton.setEnabled(version > J2EEVersionConstants.J2EE_1_2_ID);
-        }
-    }
-
-    /**
-     * 
-     */
-    private void showNewModulesCompsite() {
-        defaultModulesComposite.setVisible(false);
-        newModulesComposite.setVisible(true);
-        if (!isAnyModuleRadioSelected())
-            appClientRadioButton.setSelection(true);
-        setSelectedNode(getWizardNodeFromSelection());
-        stackLayout.topControl = newModulesComposite;
-    }
-
-    /**
-     * @return
-     */
-    private GenericWizardNode getWizardNodeFromSelection() {
-        if (appClientRadioButton.getSelection())
-            return getAppClientNode();
-        if (connectorRadioButton != null && connectorRadioButton.getSelection())
-            return getConnectorNode();
-        if (ejbRadioButton != null && ejbRadioButton.getSelection())
-            return getEjbNode();
-        if (webRadioButton != null && webRadioButton.getSelection())
-            return getWebNode();
-        return null;
-    }
-
-    /**
-     * @return
-     */
-    private boolean isAnyModuleRadioSelected() {
-        return appClientRadioButton.getSelection() || (connectorRadioButton != null && connectorRadioButton.getSelection()) || (ejbRadioButton != null && ejbRadioButton.getSelection()) || (webRadioButton != null && webRadioButton.getSelection());
-    }
-
-    /**
-     * @return Returns the appClientNode.
-     */
-    private GenericWizardNode getAppClientNode() {
-        if (appClientNode == null) {
-            appClientNode = new GenericWizardNode() {
-                /*
-                 * (non-Javadoc)
-                 * 
-                 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.GenericWizardNode#createWizard()
-                 */
-                protected IWizard createWizard() {
-                	return createChildWizard("org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard", NESTED_MODEL_CLIENT); //$NON-NLS-1$
-                }
-            };
-        }
-        return appClientNode;
-    }
-
-    /**
-     * @return Returns the connectorNode.
-     */
-    private GenericWizardNode getConnectorNode() {
-        if (connectorNode == null) {
-            connectorNode = new GenericWizardNode() {
-                /*
-                 * (non-Javadoc)
-                 * 
-                 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.GenericWizardNode#createWizard()
-                 */
-                protected IWizard createWizard() {
-                	return createChildWizard("org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard", NESTED_MODEL_JCA); //$NON-NLS-1$
-                }
-            };
-        }
-        return connectorNode;
-    }
-
-    /**
-     * @return Returns the ejbNode.
-     */
-    private GenericWizardNode getEjbNode() {
-        if (ejbNode == null) {
-            ejbNode = new GenericWizardNode() {
-                /*
-                 * (non-Javadoc)
-                 * 
-                 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.GenericWizardNode#createWizard()
-                 */
-                protected IWizard createWizard() {
-                	return createChildWizard("org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard", NESTED_MODEL_EJB); //$NON-NLS-1$
-                }
-            };
-        }
-        return ejbNode;
-    }
-
-    /**
-     * @return Returns the webNode.
-     */
-    private GenericWizardNode getWebNode() {
-        if (webNode == null) {
-            webNode = new GenericWizardNode() {
-                /*
-                 * (non-Javadoc)
-                 * 
-                 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.GenericWizardNode#createWizard()
-                 */
-                protected IWizard createWizard() {
-                	return createChildWizard("org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard", NESTED_MODEL_WEB); //$NON-NLS-1$
-                }
-            };
-        }
-        return webNode;
-    }
-    
-    private IWizard createChildWizard(String id, String parentWizModelName) {
-    	NewProjectDataModelFacetWizard wizard = null;
-    	IWizardRegistry newWizardRegistry = WorkbenchPlugin.getDefault().getNewWizardRegistry();
-    	IWizardDescriptor wizardDescriptor = newWizardRegistry.findWizard(id); 
-    	try {
-    		// retrieve the model of the parent wizard
-    		IDataModel parentWizModel = getDataModel().getNestedModel(parentWizModelName);
-
-    		// create the child wizard and retrieve its model
-    		wizard = (NewProjectDataModelFacetWizard) wizardDescriptor.createWizard();
-    		IDataModel childWizModel = wizard.getDataModel();
-
-    		// copy the properties of the parent wizard's model to the child wizard's model
-    		Iterator props = parentWizModel.getBaseProperties().iterator();
-    		while (props.hasNext()) {
-    			String prop = (String) props.next();
-    			childWizModel.setProperty(prop, parentWizModel.getProperty(prop));
-    		}
-    		//[Bug 243226] after updating the model the FactedProjectWorkingCopy needs to be updated.
-    		wizard.setFacetedProjectWorkingCopy((IFacetedProjectWorkingCopy)childWizModel.getProperty(IFacetProjectCreationDataModelProperties.FACETED_PROJECT_WORKING_COPY));
-    	} catch (CoreException ce) {
-    		Logger.getLogger().log(ce);
-    	}
-    	return wizard;
-    }
-
-    /**
-     * @param selectedNode
-     *            The selectedNode to set.
-     */
-    private void setSelectedNode(GenericWizardNode selectedNode) {
-        this.selectedNode = selectedNode;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.wizard.WizardPage#canFlipToNextPage()
-     */
-    public boolean canFlipToNextPage() {
-        if (!defaultModulesButton.getSelection())
-            return selectedNode != null;
-        return false;
-    }
-
-    /**
-     * The <code>WizardSelectionPage</code> implementation of this
-     * <code>IWizardPage</code> method returns the first page of the currently
-     * selected wizard if there is one.
-     */
-    public IWizardPage getNextPage() {
-        if (selectedNode == null)
-            return null;
-        IPluginContribution pluginContribution = new IPluginContribution() {
-            public String getLocalId() {
-                String id = null;
-                if (selectedNode == appClientNode) {
-                    id = "org.eclipse.jst.j2ee.internal.internal.internal.appclientProjectWizard"; //$NON-NLS-1$
-                } else if (selectedNode == ejbNode) {
-                    id = "org.eclipse.jst.j2ee.internal.internal.internal.ejb.ui.util.ejbProjectWizard"; //$NON-NLS-1$
-                } else if (selectedNode == connectorNode) {
-                    id = "org.eclipse.jst.j2ee.internal.internal.internal.jcaProjectWizard"; //$NON-NLS-1$
-                } else if (selectedNode == webNode) {
-                    id = "org.eclipse.jst.j2ee.internal.internal.internal.webProjectWizard"; //$NON-NLS-1$
-                }
-                return id;
-            }
-
-            public String getPluginId() {
-                return "org.eclipse.jst.j2ee.internal.internal.internal.ui"; //$NON-NLS-1$
-            }
-        };
-
-        if (!WorkbenchActivityHelper.allowUseOf(null,pluginContribution)) {
-            return null;
-        }
-
-        boolean isCreated = selectedNode.isContentCreated();
-        IWizard wizard = selectedNode.getWizard();
-        if (wizard == null) {
-            setSelectedNode(null);
-            return null;
-        }
-        if (!isCreated) // Allow the wizard to create its pages
-            wizard.addPages();
-
-        return wizard.getStartingPage();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.J2EEWizardPage#validatePage()
-     */
-    protected void validatePage() {
-        if (!defaultModulesButton.getSelection()) {
-            setPageComplete(false);
-            setErrorMessage(null);
-        } else
-            super.validatePage();
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassOptionsWizardPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassOptionsWizardPage.java
deleted file mode 100644
index 35ef53c..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassOptionsWizardPage.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.internal.ui.JavaPluginImages;
-import org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog;
-import org.eclipse.jem.workbench.utility.JemProjectUtilities;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties;
-import org.eclipse.jst.j2ee.internal.dialogs.TypeSearchEngine;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-
-/**
- * @author jialin
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class NewJavaClassOptionsWizardPage extends DataModelWizardPage {
-
-	protected Button publicButton;
-	protected Button abstractButton;
-	protected Button finalButton;
-	protected TableViewer interfaceViewer;
-	protected Button addButton;
-	protected Button removeButton;
-	protected Button inheritButton;
-	protected Button constructorButton;
-	protected Button mainMethodButton;
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public NewJavaClassOptionsWizardPage(IDataModel model, String pageName, String pageDesc, String pageTitle) {
-		super(model, pageName);
-		setDescription(pageDesc);
-		this.setTitle(pageTitle);
-		setInfopopID(IJ2EEUIContextIds.NEW_JAVA_CLASS_OPTION_WIZARD_P1);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.ui.wizard.WTPWizardPage#getValidationPropertyNames()
-	 */
-	protected String[] getValidationPropertyNames() {
-		return new String[]{INewJavaClassDataModelProperties.MODIFIER_ABSTRACT, INewJavaClassDataModelProperties.MODIFIER_FINAL};
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jem.util.ui.wizard.WTPWizardPage#createTopLevelComposite(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 300;
-		composite.setLayoutData(data);
-
-		createModifierControls(composite);
-		createInterfaceControls(composite);
-
-		// Separator label
-		Label seperator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		seperator.setLayoutData(data);
-
-		createStubsComposite(composite);
-
-		publicButton.setFocus();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, getInfopopID());
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	/**
-	 * Create controls for the modifiers
-	 */
-	protected void createModifierControls(Composite parent) {
-		Label modifiersLabel = new Label(parent, SWT.NONE);
-		modifiersLabel.setText(J2EEUIMessages.JAVA_CLASS_MODIFIERS_LABEL);
-		modifiersLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.makeColumnsEqualWidth = true;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		publicButton = new Button(composite, SWT.CHECK);
-		publicButton.setText(J2EEUIMessages.JAVA_CLASS_PUBLIC_CHECKBOX_LABEL);
-		synchHelper.synchCheckbox(publicButton, INewJavaClassDataModelProperties.MODIFIER_PUBLIC, null);
-
-		abstractButton = new Button(composite, SWT.CHECK);
-		abstractButton.setText(J2EEUIMessages.JAVA_CLASS_ABSTRACT_CHECKBOX_LABEL);
-		synchHelper.synchCheckbox(abstractButton, INewJavaClassDataModelProperties.MODIFIER_ABSTRACT, null);
-
-		finalButton = new Button(composite, SWT.CHECK);
-		finalButton.setText(J2EEUIMessages.JAVA_CLASS_FINAL_CHECKBOX_LABEL);
-		synchHelper.synchCheckbox(finalButton, INewJavaClassDataModelProperties.MODIFIER_FINAL, null);
-	}
-
-	protected void createInterfaceControls(Composite parent) {
-		Label interfaceLabel = new Label(parent, SWT.NONE);
-		interfaceLabel.setText(J2EEUIMessages.JAVA_CLASS_INTERFACES_LABEL);
-		interfaceLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING));
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		interfaceViewer = new TableViewer(composite, SWT.BORDER | SWT.MULTI);
-		interfaceViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		interfaceViewer.setContentProvider(getInterfaceContentProvider());
-		interfaceViewer.setLabelProvider(getInterfaceLabelProvider());
-		interfaceViewer.getControl().addKeyListener(getInterfaceKeyListener());
-		interfaceViewer.setInput(model.getProperty(INewJavaClassDataModelProperties.INTERFACES));
-
-		Composite buttonCompo = new Composite(composite, SWT.NULL);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		buttonCompo.setLayout(layout);
-		buttonCompo.setLayoutData(new GridData(GridData.FILL_VERTICAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-		addButton = new Button(buttonCompo, SWT.PUSH);
-		addButton.setText(J2EEUIMessages.ADD_BUTTON_LABEL);
-		addButton.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
-		addButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				handleInterfaceAddButtonSelected();
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				//Do nothing
-			}
-		});
-
-		removeButton = new Button(buttonCompo, SWT.PUSH);
-		removeButton.setText(J2EEUIMessages.REMOVE_BUTTON);
-		removeButton.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
-		removeButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				handleInterfaceRemoveButtonSelected();
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				//Do nothing
-			}
-		});
-		removeButton.setEnabled(false);
-
-		interfaceViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-				removeButton.setEnabled(!selection.isEmpty());
-			}
-		});
-
-	}
-
-	/**
-	 * Create the composite with all the stubs
-	 */
-	protected void createStubsComposite(Composite parent) {
-		Label stubLabel = new Label(parent, SWT.NONE);
-		stubLabel.setText(J2EEUIMessages.JAVA_CLASS_METHOD_STUBS_LABEL);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		stubLabel.setLayoutData(data);
-
-		Composite buttonCompo = new Composite(parent, SWT.NULL);
-		buttonCompo.setLayout(new GridLayout());
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		data.horizontalIndent = 15;
-		buttonCompo.setLayoutData(data);
-
-		mainMethodButton = new Button(buttonCompo, SWT.CHECK);
-		mainMethodButton.setText(J2EEUIMessages.JAVA_CLASS_MAIN_CHECKBOX_LABEL);
-		synchHelper.synchCheckbox(mainMethodButton, INewJavaClassDataModelProperties.MAIN_METHOD, null);
-
-		inheritButton = new Button(buttonCompo, SWT.CHECK);
-		inheritButton.setText(J2EEUIMessages.JAVA_CLASS_INHERIT_CHECKBOX_LABEL);
-		synchHelper.synchCheckbox(inheritButton, INewJavaClassDataModelProperties.ABSTRACT_METHODS, null);
-
-		constructorButton = new Button(buttonCompo, SWT.CHECK);
-		constructorButton.setText(J2EEUIMessages.JAVA_CLASS_CONSTRUCTOR_CHECKBOX_LABEL);
-		synchHelper.synchCheckbox(constructorButton, INewJavaClassDataModelProperties.CONSTRUCTOR, null);
-	}
-	
-	protected void enter() {
-		super.enter();
-		//set the intefaces on every page enter (not only on viewer creation)
-		interfaceViewer.setInput(model.getProperty(INewJavaClassDataModelProperties.INTERFACES));
-	}
-
-	/**
-	 * @see IStatefulWizardPage#saveWidgetValues()
-	 */
-	// public void saveWidgetValues() {
-	// // TODO: do we want to do this here or in the concrete subclasses???
-	// IDialogSettings store = getDialogSettings();
-	// if (store != null)
-	// store.put(getUniqueKey(""), getUniqueKey("")); //$NON-NLS-1$
-	// //$NON-NLS-2$
-	// DialogSettingsHelper.saveButton(inheritButton,
-	// getUniqueKey(idInheritedAbstractButton), store);
-	// DialogSettingsHelper.saveButton(constructorButton,
-	// getUniqueKey(idSuperClassConstructorsButton), store);
-	// DialogSettingsHelper.saveButton(publicButton,
-	// getUniqueKey(idPublicButton), store);
-	// DialogSettingsHelper.saveButton(abstractButton,
-	// getUniqueKey(idAbstractButton), store);
-	// DialogSettingsHelper.saveButton(finalButton, getUniqueKey(idFinalButton),
-	// store);
-	//
-	// }
-	/**
-	 * @see IStatefulWizardPage#restoreWidgetValues()
-	 */
-	// public void restoreWidgetValues() {
-	// IDialogSettings store = super.getDialogSettings();
-	// if (store != null && store.get(getUniqueKey("")) != null) { //$NON-NLS-1$
-	// DialogSettingsHelper.restoreButton(inheritButton,
-	// getUniqueKey(idInheritedAbstractButton), store);
-	// DialogSettingsHelper.restoreButton(constructorButton,
-	// getUniqueKey(idSuperClassConstructorsButton), store);
-	// DialogSettingsHelper.restoreButton(publicButton,
-	// getUniqueKey(idPublicButton), store);
-	// DialogSettingsHelper.restoreButton(abstractButton,
-	// getUniqueKey(idAbstractButton), store);
-	// DialogSettingsHelper.restoreButton(finalButton,
-	// getUniqueKey(idFinalButton), store);
-	// }
-	// }
-	/**
-	 * Returns the Super Interface Content Provider
-	 */
-	protected IStructuredContentProvider getInterfaceContentProvider() {
-		return new IStructuredContentProvider() {
-			public Object[] getElements(Object inputElement) {
-				Object[] ret = new Object[0];
-				if (inputElement instanceof List) {
-					ret = ((List) inputElement).toArray();
-				}
-				return ret;
-			}
-			public void dispose() {
-				//Do nothing
-			}
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				//Default is nothing
-			}
-		};
-	}
-
-	/**
-	 * Returns the Super Interface Label Provider
-	 */
-	protected ILabelProvider getInterfaceLabelProvider() {
-		return new ILabelProvider() {
-			public Image getImage(Object element) {
-				return JavaPluginImages.get(JavaPluginImages.IMG_OBJS_INTERFACE); 
-			}
-
-			public String getText(Object element) {
-				String ret = J2EEUIMessages.EMPTY_STRING;
-				if (element instanceof String)
-					ret = (String) element;
-				return ret;
-			}
-
-			public void addListener(ILabelProviderListener listener) {
-				//Do nothing
-			}
-			public void dispose() {
-				//Do nothing
-			}
-			public boolean isLabelProperty(Object element, String property) {
-				return true;
-			}
-			public void removeListener(ILabelProviderListener listener) {
-				//Do nothing
-			}
-		};
-	}
-	
-	protected KeyListener getInterfaceKeyListener() {
-		return new KeyListener() {
-
-			public void keyPressed(KeyEvent e) {
-			}
-
-			public void keyReleased(KeyEvent e) {
-				if (e.keyCode == SWT.DEL) {
-					handleInterfaceRemoveButtonSelected();
-				}
-			}
-			
-		};
-	}
-
-	/**
-	 * Browse for a new Super Interface Class
-	 */
-	protected void handleInterfaceAddButtonSelected() {
-		IProject project = (IProject) model.getProperty(INewJavaClassDataModelProperties.PROJECT);
-		IRunnableContext context = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		IJavaProject javaProject = JemProjectUtilities.getJavaProject(project);
-		// this eliminates the non-exported classpath entries
-		final IJavaSearchScope scope = TypeSearchEngine.createJavaSearchScopeForAProject(javaProject, true, true);
-		FilteredTypesSelectionDialog dialog = new FilteredTypesSelectionDialog(getShell(),false, context, scope,IJavaSearchConstants.INTERFACE);
-		dialog.setTitle(J2EEUIMessages.INTERFACE_SELECTION_DIALOG_TITLE);
-		if (dialog.open() == Window.OK) {
-			IType type = (IType) dialog.getFirstResult();
-			String newInterface = ""; //$NON-NLS-1$
-			if (type != null) {
-				newInterface = type.getFullyQualifiedName();
-				List valueList = getInterfaceViewerItems();
-				if (!valueList.contains(newInterface)) {
-					interfaceViewer.add(newInterface);
-					model.setProperty(INewJavaClassDataModelProperties.INTERFACES, getInterfaceViewerItems());
-				}
-			}
-		}
-	}
-
-	/**
-	 * Remove an interface from the SuperInterface List
-	 */
-	protected void handleInterfaceRemoveButtonSelected() {
-		IStructuredSelection selection = (IStructuredSelection) interfaceViewer.getSelection();
-		List items = selection.toList();
-		if (!items.isEmpty()) {
-			List valueList = getInterfaceViewerItems();
-			for (int i = 0; i < items.size(); i++) {
-				valueList.remove(items.get(i));
-			}
-			interfaceViewer.setInput(valueList);
-			model.setProperty(INewJavaClassDataModelProperties.INTERFACES, valueList);
-		}
-	}
-	
-	private List getInterfaceViewerItems() {
-		ArrayList<String> list = new ArrayList<String>();
-		TableItem[] items = interfaceViewer.getTable().getItems();
-		for (TableItem item : items) {
-			list.add(item.getText());
-		}
-		return list;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java
deleted file mode 100644
index fd01aa8..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/NewJavaClassWizardPage.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.search.IJavaSearchConstants;
-import org.eclipse.jdt.core.search.IJavaSearchScope;
-import org.eclipse.jdt.internal.ui.JavaPlugin;
-import org.eclipse.jdt.internal.ui.dialogs.FilteredTypesSelectionDialog;
-import org.eclipse.jdt.internal.ui.viewsupport.IViewPartInputProvider;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.DecoratingLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties;
-import org.eclipse.jst.j2ee.internal.dialogs.TypeSearchEngine;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.contentoutline.ContentOutline;
-import org.eclipse.wst.common.componentcore.internal.operation.IArtifactEditOperationDataModelProperties;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
-import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
-
-/**
- *
- */
-public class NewJavaClassWizardPage extends DataModelWizardPage {
-
-	private Text folderText;
-	private Button folderButton;
-	protected Text packageText;
-	protected Button packageButton;
-	protected Label packageLabel;
-	protected Text classText;
-	protected Label classLabel;
-	protected Text superText;
-	protected Button superButton;
-	protected Label superLabel;
-	protected Label projectNameLabel;
-	private Combo projectNameCombo;	
-	protected String projectType;
-	private String projectName;
-
-	/**
-	 * @param model
-	 * @param pageName
-	 */
-	public NewJavaClassWizardPage(IDataModel model, String pageName, String pageDesc, String pageTitle,
-			String moduleType) {
-		super(model, pageName);
-		setDescription(pageDesc);
-		this.setTitle(pageTitle);
-		setPageComplete(false);
-		this.projectType = moduleType;
-		this.projectName = null;
-	}
-
-	/**
-	 * 
-	 */
-	protected String[] getValidationPropertyNames() {
-		return new String[]{IArtifactEditOperationDataModelProperties.PROJECT_NAME, 
-				IArtifactEditOperationDataModelProperties.COMPONENT_NAME, 
-				INewJavaClassDataModelProperties.SOURCE_FOLDER, 
-				INewJavaClassDataModelProperties.JAVA_PACKAGE, 
-				INewJavaClassDataModelProperties.CLASS_NAME, 
-				INewJavaClassDataModelProperties.SUPERCLASS};
-	}
-
-	/**
-	 * 
-	 */
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		composite.setLayout(layout);
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		data.widthHint = 300;
-		composite.setLayoutData(data);
-
-		addProjectNameGroup(composite);
-		addFolderGroup(composite);
-		addSeperator(composite, 3);
-		addPackageGroup(composite);
-		addClassnameGroup(composite);
-		addSuperclassGroup(composite);
-
-		classText.setFocus();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, getInfopopID());
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-
-	/**
-	 * Add project group
-	 */
-	private void addProjectNameGroup(Composite parent) {
-		// set up project name label
-		projectNameLabel = new Label(parent, SWT.NONE);
-		projectNameLabel.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.MODULES_DEPENDENCY_PAGE_TABLE_PROJECT)); //$NON-NLS-1$
-		GridData data = new GridData();
-		projectNameLabel.setLayoutData(data);
-		// set up project name entry field
-		projectNameCombo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 300;
-		data.horizontalSpan = 1;
-		projectNameCombo.setLayoutData(data);
-		projectNameCombo.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				super.widgetSelected(e);
-				// update source folder
-				if (folderText != null) {					
-					String sourceFolder = getDefaultJavaSourceFolder(ProjectUtilities.getProject(projectNameCombo.getText())).getFullPath().toOSString();					
-					if (sourceFolder != null)
-						folderText.setText(sourceFolder);
-				}
-			}
-		});
-		synchHelper.synchCombo(projectNameCombo, IArtifactEditOperationDataModelProperties.PROJECT_NAME, null);
-		initializeProjectList();
-		new Label(parent, SWT.NONE);
-	}
-	
-	/**
-	 * 
-	 **/
-	private IFolder getDefaultJavaSourceFolder(IProject project) {
-		
-		if (project == null)
-			return null;
-		IPackageFragmentRoot[] sources = J2EEProjectUtilities.getSourceContainers(project);
-		// Try and return the first source folder
-		if (sources.length > 0) {
-			try {
-				return (IFolder) sources[0].getCorrespondingResource();
-			} catch (Exception e) {
-				return null;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * This method is used by the project list initializer. The method checks 
-	 * if the specified project is valid to include it in the project list.
-	 * 
-	 * <p>Subclasses of this wizard page should override this method to 
-	 * adjust filtering of the projects to their needs. </p>
-	 * 
-	 * @param project reference to the project to be checked
-	 * 
-	 * @return <code>true</code> if the project is valid to be included in 
-	 * 		   the project list, <code>false</code> - otherwise. 
-	 */
-	protected boolean isProjectValid(IProject project) {
-		boolean result;
-		try {
-			result = project.isAccessible() && 
-				project.hasNature(IModuleConstants.MODULE_NATURE_ID) && 
-			 	J2EEProjectUtilities.getJ2EEProjectType(project).equals(projectType);
-		} catch (CoreException ce) {
-			result = false;
-		}
-		return result;
-	}
-	 
-	/**
-	 * 
-	 */
-	private void initializeProjectList() {
-		IProject[] workspaceProjects = ProjectUtilities.getAllProjects();
-		List items = new ArrayList();
-		for (int i = 0; i < workspaceProjects.length; i++) {
-			IProject project = workspaceProjects[i];
-			if (isProjectValid(project))
-				items.add(project.getName());
-		}
-		if (items.isEmpty()) return;
-		String[] names = new String[items.size()];
-		for (int i = 0; i < items.size(); i++) {
-			names[i] = (String) items.get(i);
-		}
-		projectNameCombo.setItems(names);
-		IProject selectedProject = null;
-		try {
-			if (model !=null) {
-				String projectNameFromModel = model.getStringProperty(IArtifactEditOperationDataModelProperties.COMPONENT_NAME);
-				if (projectNameFromModel!=null && projectNameFromModel.length()>0)
-					selectedProject = ProjectUtilities.getProject(projectNameFromModel);
-			}
-		} catch (Exception e) {};
-		try {
-			if (selectedProject == null)
-				selectedProject = getSelectedProject();
-			if (selectedProject != null && selectedProject.isAccessible()
-					&& selectedProject.hasNature(IModuleConstants.MODULE_NATURE_ID)) {
-				projectNameCombo.setText(selectedProject.getName());
-				model.setProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME, selectedProject.getName());
-			}
-		} catch (CoreException ce) {
-			// Ignore
-		}
-		if (projectName == null && names.length > 0)
-			projectName = names[0];
-
-		if ((projectNameCombo.getText() == null || projectNameCombo.getText().length() == 0) && projectName != null) {
-			projectNameCombo.setText(projectName);
-			model.setProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME, projectName);
-		}
-
-	}
-
-	/**
-	 * Add folder group to composite
-	 */
-	private void addFolderGroup(Composite composite) {
-		// folder
-		Label folderLabel = new Label(composite, SWT.LEFT);
-		folderLabel.setText(J2EEUIMessages.FOLDER_LABEL);
-		folderLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		folderText = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		folderText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		synchHelper.synchText(folderText, INewJavaClassDataModelProperties.SOURCE_FOLDER, null);
-		
-		IPackageFragmentRoot root = getSelectedPackageFragmentRoot();
-		String projectName = model.getStringProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME);
-		if (projectName != null && projectName.length() > 0) {
-			IProject targetProject = ProjectUtilities.getProject(projectName);
-			if (root == null || !root.getJavaProject().getProject().equals(targetProject)) {
-				IFolder folder = getDefaultJavaSourceFolder(targetProject);
-				if (folder != null)
-					folderText.setText(folder.getFullPath().toOSString());
-			} else {
-				folderText.setText(root.getPath().toString());
-			}
-		}
-		
-		folderButton = new Button(composite, SWT.PUSH);
-		folderButton.setText(J2EEUIMessages.BROWSE_BUTTON_LABEL);
-		folderButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		folderButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				handleFolderButtonPressed();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// Do nothing
-			}
-		});
-	}
-
-	/**
-	 * Add package group to composite
-	 */
-	private void addPackageGroup(Composite composite) {
-		// package
-		packageLabel = new Label(composite, SWT.LEFT);
-		packageLabel.setText(J2EEUIMessages.JAVA_PACKAGE_LABEL);
-		packageLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		packageText = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		packageText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		synchHelper.synchText(packageText, INewJavaClassDataModelProperties.JAVA_PACKAGE, null);
-		
-		IPackageFragment packageFragment = getSelectedPackageFragment();
-		String targetProject = model.getStringProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME); 
-		if (packageFragment != null && packageFragment.exists() && 
-				packageFragment.getJavaProject().getElementName().equals(targetProject)) {
-			IPackageFragmentRoot root = getPackageFragmentRoot(packageFragment);
-			if (root != null)
-				folderText.setText(root.getPath().toString());
-			model.setProperty(INewJavaClassDataModelProperties.JAVA_PACKAGE, packageFragment.getElementName());
-		}
-
-		packageButton = new Button(composite, SWT.PUSH);
-		packageButton.setText(J2EEUIMessages.BROWSE_BUTTON_LABEL);
-		packageButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		packageButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				handlePackageButtonPressed();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// Do nothing
-			}
-		});
-	}
-	
-	protected IPackageFragmentRoot getPackageFragmentRoot(IPackageFragment packageFragment) {
-		if (packageFragment == null)
-			return null;
-		else if (packageFragment.getParent() instanceof IPackageFragment)
-			return getPackageFragmentRoot((IPackageFragment) packageFragment.getParent());
-		else if (packageFragment.getParent() instanceof IPackageFragmentRoot)
-			return (IPackageFragmentRoot) packageFragment.getParent();
-		else
-			return null;
-	}
-
-	/**
-	 * Add classname group to composite
-	 */
-	private void addClassnameGroup(Composite composite) {
-		// class name
-		classLabel = new Label(composite, SWT.LEFT);
-		classLabel.setText(J2EEUIMessages.CLASS_NAME_LABEL);
-		classLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		classText = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		classText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		synchHelper.synchText(classText, INewJavaClassDataModelProperties.CLASS_NAME, null);
-
-		new Label(composite, SWT.LEFT);
-	}
-
-	/**
-	 * Add seperator to composite
-	 */
-	protected void addSeperator(Composite composite, int horSpan) {
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		data.widthHint = 300;
-		// Separator label
-		Label seperator = new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = horSpan;
-		seperator.setLayoutData(data);
-	}
-
-	/**
-	 * Add superclass group to the composite
-	 */
-	private void addSuperclassGroup(Composite composite) {
-		// superclass
-		superLabel = new Label(composite, SWT.LEFT);
-		superLabel.setText(J2EEUIMessages.SUPERCLASS_LABEL);
-		superLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		superText = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		superText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		synchHelper.synchText(superText, INewJavaClassDataModelProperties.SUPERCLASS, null);
-
-		superButton = new Button(composite, SWT.PUSH);
-		superButton.setText(J2EEUIMessages.BROWSE_BUTTON_LABEL);
-		superButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		superButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				handleSuperButtonPressed();
-			}
-
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// Do nothing
-			}
-		});
-	}
-
-	/**
-	 * Browse for a new Destination Folder
-	 */
-	protected void handleFolderButtonPressed() {
-		ISelectionStatusValidator validator = getContainerDialogSelectionValidator();
-		ViewerFilter filter = getContainerDialogViewerFilter();
-		ITreeContentProvider contentProvider = new WorkbenchContentProvider();
-		ILabelProvider labelProvider = new DecoratingLabelProvider(new WorkbenchLabelProvider(), PlatformUI.getWorkbench()
-				.getDecoratorManager().getLabelDecorator());
-		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), labelProvider, contentProvider);
-		dialog.setValidator(validator);
-		dialog.setTitle(J2EEUIMessages.CONTAINER_SELECTION_DIALOG_TITLE);
-		dialog.setMessage(J2EEUIMessages.CONTAINER_SELECTION_DIALOG_DESC);
-		dialog.addFilter(filter);
-		String projectName = model.getStringProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME);
-		if (projectName==null || projectName.length()==0)
-			return;
-		IProject project = ProjectUtilities.getProject(projectName);
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-
-		if (project != null)
-			dialog.setInitialSelection(project);
-		if (dialog.open() == Window.OK) {
-			Object element = dialog.getFirstResult();
-			try {
-				if (element instanceof IContainer) {
-					IContainer container = (IContainer) element;
-					folderText.setText(container.getFullPath().toString());
-					// dealWithSelectedContainerResource(container);
-				}
-			} catch (Exception ex) {
-				// Do nothing
-			}
-
-		}
-	}
-
-	protected void handlePackageButtonPressed() {
-		IPackageFragmentRoot packRoot = (IPackageFragmentRoot) model.getProperty(INewJavaClassDataModelProperties.JAVA_PACKAGE_FRAGMENT_ROOT);
-		if (packRoot == null)
-			return;
-		IJavaElement[] packages = null;
-		try {
-			packages = packRoot.getChildren();
-		} catch (JavaModelException e) {
-			// Do nothing
-		}
-		if (packages == null)
-			packages = new IJavaElement[0];
-
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new JavaElementLabelProvider(
-				JavaElementLabelProvider.SHOW_DEFAULT));
-		dialog.setTitle(J2EEUIMessages.PACKAGE_SELECTION_DIALOG_TITLE);
-		dialog.setMessage(J2EEUIMessages.PACKAGE_SELECTION_DIALOG_DESC);
-		dialog.setEmptyListMessage(J2EEUIMessages.PACKAGE_SELECTION_DIALOG_MSG_NONE);
-		dialog.setElements(packages);
-		if (dialog.open() == Window.OK) {
-			IPackageFragment fragment = (IPackageFragment) dialog.getFirstResult();
-			if (fragment != null) {
-				packageText.setText(fragment.getElementName());
-			} else {
-				packageText.setText(J2EEUIMessages.EMPTY_STRING);
-			}
-		}
-	}
-
-	protected void handleSuperButtonPressed() {
-		getControl().setCursor(new Cursor(getShell().getDisplay(), SWT.CURSOR_WAIT));
-		IPackageFragmentRoot packRoot = (IPackageFragmentRoot) model.getProperty(INewJavaClassDataModelProperties.JAVA_PACKAGE_FRAGMENT_ROOT);
-		if (packRoot == null)
-			return;
-
-		// this eliminates the non-exported classpath entries
-		final IJavaSearchScope scope = TypeSearchEngine.createJavaSearchScopeForAProject(packRoot.getJavaProject(), true, true);
-
-		// This includes all entries on the classpath. This behavior is
-		// identical
-		// to the Super Class Browse Button on the Create new Java Class Wizard
-		// final IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new
-		// IJavaElement[] {root.getJavaProject()} );
-		FilteredTypesSelectionDialog dialog = new FilteredTypesSelectionDialog(getShell(),false, getWizard().getContainer(), scope, IJavaSearchConstants.CLASS);
-		dialog.setTitle(J2EEUIMessages.SUPERCLASS_SELECTION_DIALOG_TITLE);
-		dialog.setMessage(J2EEUIMessages.SUPERCLASS_SELECTION_DIALOG_DESC);
-
-		if (dialog.open() == Window.OK) {
-			IType type = (IType) dialog.getFirstResult();
-			String superclassFullPath = J2EEUIMessages.EMPTY_STRING;
-			if (type != null) {
-				superclassFullPath = type.getFullyQualifiedName();
-			}
-			superText.setText(superclassFullPath);
-			getControl().setCursor(null);
-			return;
-		}
-		getControl().setCursor(null);
-	}
-
-	/**
-	 * Returns a new instance of the Selection validator for the Container
-	 * Selection Dialog This method can be extended by subclasses, as it does
-	 * some basic validation.
-	 */
-	protected ISelectionStatusValidator getContainerDialogSelectionValidator() {
-		return new ISelectionStatusValidator() {
-			public IStatus validate(Object[] selection) {
-				if (selection != null && selection[0] != null && !(selection[0] instanceof IProject))
-					return WTPCommonPlugin.OK_STATUS;
-				return WTPCommonPlugin.createErrorStatus(J2EEUIMessages.CONTAINER_SELECTION_DIALOG_VALIDATOR_MESG);
-			}
-		};
-	}
-
-	/**
-	 * Returns a new instance of the Selection Listner for the Container
-	 * Selection Dialog
-	 */
-	protected ViewerFilter getContainerDialogViewerFilter() {
-		return new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parent, Object element) {
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					return project.getName().equals(model.getProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME));
-				} else if (element instanceof IFolder) {
-					IFolder folder = (IFolder) element;
-					// only show source folders
-					IProject project = ProjectUtilities.getProject(model.getStringProperty(IArtifactEditOperationDataModelProperties.PROJECT_NAME));
-					IPackageFragmentRoot[] sourceFolders = J2EEProjectUtilities.getSourceContainers(project);
-					for (int i = 0; i < sourceFolders.length; i++) {
-						if (sourceFolders[i].getResource()!= null && sourceFolders[i].getResource().equals(folder))
-							return true;
-					}
-				}
-				return false;
-			}
-		};
-	}
-
-	
-
-	/**
-	 * @return
-	 */
-	private IProject getSelectedProject() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null)
-			return null;
-		ISelection selection = window.getSelectionService().getSelection();
-		if (selection == null)
-			return null;
-		if (!(selection instanceof IStructuredSelection)) 
-			return null;
-		IStructuredSelection stucturedSelection = (IStructuredSelection) selection;
-		if (stucturedSelection.getFirstElement() instanceof EObject)
-			return ProjectUtilities.getProject(stucturedSelection.getFirstElement());
-		IJavaElement element = getInitialJavaElement(selection);
-		if (element != null && element.getJavaProject() != null)
-			return element.getJavaProject().getProject();
-		return getExtendedSelectedProject(stucturedSelection.getFirstElement());
-	}
-	
-	protected IProject getExtendedSelectedProject(Object selection) {
-		return null;
-	}
-
-	/**
-	 * @return
-	 */
-	private IPackageFragment getSelectedPackageFragment() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null)
-			return null;
-		ISelection selection = window.getSelectionService().getSelection();
-		if (selection == null)
-			return null;
-		IJavaElement element = getInitialJavaElement(selection);
-		if (element != null) {
-			if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
-				return (IPackageFragment) element;
-			} else if (element.getElementType() == IJavaElement.COMPILATION_UNIT) { 
-				IJavaElement parent = ((ICompilationUnit) element).getParent();
-				if (parent.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
-					return (IPackageFragment) parent;
-				}
-			} else if (element.getElementType() == IJavaElement.TYPE) {
-				return ((IType) element).getPackageFragment();
-			}
-		}
-		return null;
-	}
-	
-	private IPackageFragmentRoot getSelectedPackageFragmentRoot() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null)
-			return null;
-		ISelection selection = window.getSelectionService().getSelection();
-		if (selection == null)
-			return null;
-		// StructuredSelection stucturedSelection = (StructuredSelection)
-		// selection;
-		IJavaElement element = getInitialJavaElement(selection);
-		if (element != null) {
-			if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT)
-				return (IPackageFragmentRoot) element;
-		}
-		return null;
-	}
-
-	/**
-	 * Utility method to inspect a selection to find a Java element.
-	 * 
-	 * @param selection
-	 *            the selection to be inspected
-	 * @return a Java element to be used as the initial selection, or
-	 *         <code>null</code>, if no Java element exists in the given
-	 *         selection
-	 */
-	protected IJavaElement getInitialJavaElement(ISelection selection) {
-		IJavaElement jelem = null;
-		if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
-			Object selectedElement = ((IStructuredSelection) selection).getFirstElement();
-			if (selectedElement instanceof IAdaptable) {
-				IAdaptable adaptable = (IAdaptable) selectedElement;
-
-				jelem = (IJavaElement) adaptable.getAdapter(IJavaElement.class);
-				if (jelem == null) {
-					IResource resource = (IResource) adaptable.getAdapter(IResource.class);
-					if (resource != null && resource.getType() != IResource.ROOT) {
-						while (jelem == null && resource.getType() != IResource.PROJECT) {
-							resource = resource.getParent();
-							jelem = (IJavaElement) resource.getAdapter(IJavaElement.class);
-						}
-						if (jelem == null) {
-							jelem = JavaCore.create(resource); // java project
-						}
-					}
-				}
-			}
-		}
-		if (jelem == null) {
-			IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-			if (window == null)
-				return null;
-			IWorkbenchPart part = window.getActivePage().getActivePart();
-			if (part instanceof ContentOutline) {
-				part = window.getActivePage().getActiveEditor();
-			}
-
-			if (part instanceof IViewPartInputProvider) {
-				Object elem = ((IViewPartInputProvider) part).getViewPartInput();
-				if (elem instanceof IJavaElement) {
-					jelem = (IJavaElement) elem;
-				}
-			}
-		}
-
-		if (jelem == null || jelem.getElementType() == IJavaElement.JAVA_MODEL) {
-			try {
-				IJavaProject[] projects = JavaCore.create(getWorkspaceRoot()).getJavaProjects();
-				if (projects.length == 1) {
-					jelem = projects[0];
-				}
-			} catch (JavaModelException e) {
-				JavaPlugin.log(e);
-			}
-		}
-		return jelem;
-	}
-
-	protected IWorkspaceRoot getWorkspaceRoot() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
-
-	public void setProjectName(String projectName) {
-		this.projectName = projectName;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/PackageNameResolver.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/PackageNameResolver.java
deleted file mode 100644
index 46ec179..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/PackageNameResolver.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-/**
- * @author Sachin
- * 
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates. To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class PackageNameResolver extends ClassLoader {
-
-	public PackageNameResolver() {
-		super();
-	}
-
-	public String getClassName(final String classFile) {
-		File file = new File(classFile);
-		byte[] classbuf = new byte[(int) file.length()];
-		try {
-			FileInputStream instream = new FileInputStream(file);
-			instream.read(classbuf);
-			instream.close();
-		} catch (Throwable e) {
-			return null;
-		}
-		boolean badclassname = true;
-		String classname = classFile.replace(java.io.File.separatorChar, '.');
-		int endi;
-		if (classname.endsWith(".class")) //$NON-NLS-1$
-			endi = classname.lastIndexOf('.');
-		else
-			endi = classname.length();
-		int i = classname.indexOf('.');
-		while (i < endi && badclassname == true) {
-			badclassname = false;
-			try {
-				defineClass(classname.substring(i + 1, endi), classbuf, 0, classbuf.length);
-			} catch (java.lang.NoClassDefFoundError e) {
-				String msg = e.getMessage();
-				if (msg == null || msg.indexOf(' ') > 0) {
-					badclassname = true;
-				}
-			} catch (Throwable e) {
-				badclassname = true;
-			}
-			if (badclassname) {
-				i = classname.indexOf('.', i + 1);
-				if (i == -1)
-					i = endi;
-			}
-		}
-		if (badclassname)
-			return null;
-		return classname.substring(i + 1, endi);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetComboHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetComboHelper.java
deleted file mode 100644
index d0e6af5..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetComboHelper.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 27, 2003
- * 
- * To change the template for this generated file go to Window>Preferences>Java>Code Generation>Code
- * and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.List;
-
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.internal.ResourceManager;
-
-
-public class ServerTargetComboHelper {
-	private List targets;
-	public String[] items;
-	public static final String defaultId = "com.ibm.etools.websphere.serverTarget.base.v51"; //$NON-NLS-1$
-	public static final String defaultExpressId = "com.ibm.etools.websphere.serverTarget.express.v51"; //$NON-NLS-1$
-
-	ServerTargetComboHelper(List targets, String[] items) {
-		this.targets = targets;
-		this.items = items;
-	}
-
-	public IRuntime getSelectedTarget(int itemIndex) {
-		return (IRuntime) targets.get(itemIndex);
-	}
-
-	/**
-	 * @param target
-	 * @return
-	 */
-	public boolean isCompatible(IRuntime target) {
-		return targets.contains(target);
-	}
-
-	public int getDefaultServerTargetIndex() {
-		IRuntime v51TargetServer = null;
-		if (J2EEPlugin.isEJBSupportAvailable())
-			v51TargetServer = ResourceManager.getInstance().getRuntime(defaultId);
-		else
-			v51TargetServer = ResourceManager.getInstance().getRuntime(defaultExpressId);
-		if (v51TargetServer != null && targets.contains(v51TargetServer))
-			return targets.indexOf(v51TargetServer) + 1;
-		return -1;
-	}
-
-	public int getServerTargetIndexFromItems(IRuntime serverTarget) {
-		if (items != null && items.length > 0) {
-			String serverTargetLabel = serverTarget.getName() + " (" + serverTarget.getRuntimeType().getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-			for (int i = 0; i < items.length; i++) {
-				String label = items[i];
-				if (label.equals(serverTargetLabel)) {
-					return i;
-				}
-			}
-		}
-		return -1;
-	}
-
-	public List getValidTargets() {
-		return targets;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetUIHelper.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetUIHelper.java
deleted file mode 100644
index bef30d4..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/ServerTargetUIHelper.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on Aug 17, 2003
- * 
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.ServerUtil;
-
-/**
- * @author vijayb
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class ServerTargetUIHelper {
-	/**
-	 *  
-	 */
-	public ServerTargetUIHelper() {
-		super();
-	}
-
-	public static String getSelectedServerTargetString(Combo serverTargetCombo) {
-		if (serverTargetCombo.getSelectionIndex() != -1)
-			return serverTargetCombo.getItem(serverTargetCombo.getSelectionIndex());
-		return null;
-	}
-
-	/**
-	 * @return
-	 */
-	public static int getSelectedServerTargetStringIndex(Combo serverTargetCombo) {
-		return serverTargetCombo.getSelectionIndex();
-	}
-
-//	private static void setServerTargetForProject(Shell shell, IProject project, IRuntime runtime) {
-//		//ServerTargetHelper.cleanUpNonServerTargetClasspath(project);
-//		setServerTarget(shell, project, runtime, null);
-//	}
-
-	/**
-	 * @param earProject
-	 * @param moduleProject
-	 * @return
-	 */
-	public static boolean setModuleServerTargetIfNecessary(IProject earProject, IProject moduleProject, Shell shell) {
-		return true;
-	}
-
-	//	private static String getEARJ2EELevel(IProject earProject) {
-	//		EARNatureRuntime nature = EARNatureRuntime.getRuntime(earProject);
-	//		String j2eeLevel = null;
-	//		int natureID = nature.getJ2EEVersion();
-	//		switch (natureID) {
-	//			case (J2EEVersionConstants.J2EE_1_2_ID) :
-	//				j2eeLevel = J2EEVersionConstants.VERSION_1_2_TEXT;
-	//				break;
-	//			case (J2EEVersionConstants.J2EE_1_3_ID) :
-	//				j2eeLevel = J2EEVersionConstants.VERSION_1_3_TEXT;
-	//				break;
-	//			case (J2EEVersionConstants.J2EE_1_4_ID) :
-	//				j2eeLevel = J2EEVersionConstants.VERSION_1_4_TEXT;
-	//				break;
-	//			default :
-	//				j2eeLevel = J2EEVersionConstants.VERSION_1_4_TEXT;
-	//				break;
-	//		}
-	//		return j2eeLevel;
-	//	}
-
-	public static void setServerTarget(Shell shell, IProject project, IRuntime runtime, IProgressMonitor monitor) {
-//		try {
-//			ServerCore.getProjectProperties(project).setRuntimeTarget(runtime, monitor);
-//		} catch (CoreException e) {
-//			Logger.getLogger().logError(e);
-//		}
-	}
-
-
-	public static ServerTargetComboHelper getValidServerTargetComboItems(String j2eeType, String selectedVersion) {
-		IRuntime[] validServerTargets = ServerUtil.getRuntimes(j2eeType, selectedVersion);
-		String[] serverTargetList = null;
-		if (validServerTargets.length>0) {
-			int serverTargetListSize = validServerTargets.length;
-			serverTargetList = new String[serverTargetListSize];
-			for (int i = 0; i < validServerTargets.length; i++) {
-				IRuntime runtime = validServerTargets[i];
-				serverTargetList[i] = runtime.getName() + " (" + runtime.getRuntimeType().getName() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return new ServerTargetComboHelper(Arrays.asList(validServerTargets), serverTargetList);
-	}
-
-	/**
-	 * @param project
-	 */
-	public static void runEarValidation(IProject project) {
-		try {
-			IRunnableWithProgress runnable = EARValidationHelper.createValidationRunnable(project);
-			runnable.run(null);
-		} catch (InterruptedException ie) {
-			Logger.getLogger().logError(ie);
-		} catch (InvocationTargetException ite) {
-			Logger.getLogger().logError(ite);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/StringArrayTableWizardSection.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/StringArrayTableWizardSection.java
deleted file mode 100644
index 6e98826..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/StringArrayTableWizardSection.java
+++ /dev/null
@@ -1,543 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * @author jialin
- * 
- * To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Generation - Code and Comments
- */
-public class StringArrayTableWizardSection extends Composite {
-
-	protected class StringArrayListContentProvider implements IStructuredContentProvider {
-		public boolean isDeleted(Object element) {
-			return false;
-		}
-		public Object[] getElements(Object element) {
-			if (element instanceof List) {
-				return ((List) element).toArray();
-			}
-			return new Object[0];
-		}
-		public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) {
-			//Default nothing
-		}
-		public void dispose() {
-			//Default nothing
-		}
-	}
-	
-	protected class StringArrayListLabelProvider extends LabelProvider implements ITableLabelProvider {
-		public Image getColumnImage(Object element, int columnIndex) {
-		    if (columnIndex == 0) {
-		        return labelProviderImage;       
-		    }
-			return null;
-		}
-		
-		public String getColumnText(Object element, int columnIndex) {
-			String[] array = (String[]) element;
-			return array[columnIndex];
-		}
-
-        @Override
-        public Image getImage(Object element) {
-            return labelProviderImage;
-        }
-
-        @Override
-        public String getText(Object element) {
-			String[] array = (String[]) element;
-			if (array.length > 0) {
-				return array[0];
-			} else {
-				return super.getText(element);
-			}
-		}
-	}
-
-	protected class AddStringArrayDialog extends Dialog implements ModifyListener {
-		protected String windowTitle;
-		protected String[] labelsForTextField;
-		protected Text[] texts;
-		protected String[] stringArray;
-		/**
-		 * CMPFieldDialog constructor comment.
-		 */
-		public AddStringArrayDialog(Shell shell, String windowTitle, String[] labelsForTextField) {
-			super(shell);
-			this.windowTitle = windowTitle;
-			this.labelsForTextField = labelsForTextField;
-		}
-		/**
-		 * CMPFieldDialog constructor comment.
-		 */
-		public Control createDialogArea(Composite parent) {
-
-			Composite composite = (Composite) super.createDialogArea(parent);
-			getShell().setText(windowTitle);
-
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 2;
-			composite.setLayout(layout);
-			GridData data = new GridData();
-			data.verticalAlignment = GridData.FILL;
-			data.horizontalAlignment = GridData.FILL;
-			data.widthHint = 300;
-			composite.setLayoutData(data);
-
-			int n = labelsForTextField.length;
-			texts = new Text[n];
-			for (int i = 0; i < n; i++) {
-				Label label = new Label(composite, SWT.LEFT);
-				label.setText(labelsForTextField[i]);
-				label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-				texts[i] = new Text(composite, SWT.SINGLE | SWT.BORDER);
-				data = new GridData(GridData.FILL_HORIZONTAL);
-				data.widthHint = 100;
-				texts[i].setLayoutData(data);
-			}
-
-			// set focus
-			texts[0].setFocus();
-			Dialog.applyDialogFont(parent);
-			return composite;
-		}
-		
-		protected Control createContents(Composite parent) {
-			Composite composite = (Composite) super.createContents(parent);
-			
-			for (int i = 0; i < texts.length; i++) {
-				texts[i].addModifyListener(this);
-			}
-			
-			updateOKButton();
-			
-			return composite;
-		}
-
-		protected void okPressed() {
-			stringArray = callback.retrieveResultStrings(texts);
-			super.okPressed();
-		}
-
-		public String[] getStringArray() {
-			return stringArray;
-		}
-		
-		public void modifyText(ModifyEvent e) {
-			updateOKButton();
-		}
-		
-		private void updateOKButton() {
-			getButton(IDialogConstants.OK_ID).setEnabled(callback.validate(texts));
-		}
-	}
-	
-	protected class EditStringArrayDialog extends AddStringArrayDialog {
-		protected String[] valuesForTextField;
-		/**
-		 * CMPFieldDialog constructor comment.
-		 */
-		public EditStringArrayDialog(Shell shell, String windowTitle, String[] labelsForTextField, String[] valuesForTextField) {
-			super(shell, windowTitle, labelsForTextField);
-			this.valuesForTextField = valuesForTextField;
-		}
-		/**
-		 * CMPFieldDialog constructor comment.
-		 */
-		public Control createDialogArea(Composite parent) {
-
-			Composite composite = (Composite) super.createDialogArea(parent);
-
-			int n = valuesForTextField.length;
-			for (int i = 0; i < n; i++) {
-				texts[i].setText(valuesForTextField[i]);
-			}
-			
-			return composite;
-		}
-	}
-	
-	/**
-	 * Callback interface used by the Add/Edit-StringArrayDialog classes. 
-	 */
-	public interface StringArrayDialogCallback {
-		
-		/**
-		 * Validates the text fields. 
-		 * <p>Used to decide wheather to enable the OK button of the dialog. 
-		 * If the method returns <code>true</code> the OK button is enabled, 
-		 * otherwise the OK button is disabled.</p> 
-		 * 
-		 * @param reference to the text fields in the dialog
-		 * 
-		 * @return <code>true</code> if the values in the text fields are 
-		 *         valid, <code>false</code> otherwise. 
-		 */
-		public boolean validate(Text[] texts);
-		
-		/**
-		 * Retrieves the strings from the text fields of the dialog. 
-		 * <p>Implementers of the callback can use these method to do some 
-		 * preprocessing (like trimming) of the data in the text fields before 
-		 * using it. The returned values will be the actual data that will be 
-		 * put in the table viewer.</p> 
-		 *  
-		 * @param texts reference to the text fields in the dialog
-		 * 
-		 * @return the values retreived from the text fields
-		 */
-		public String[] retrieveResultStrings(Text[] texts);
-		
-	}
-	
-	/**
-	 * Default adapter with basic implementation of the 
-	 * <code>StringArrayDialogCallback</code> interface. 
-	 */
-	protected class StringArrayDialogCallbackAdapter implements StringArrayDialogCallback {
-		
-		/**
-		 * Returns always <code>true</code>. 
-		 */
-		public boolean validate(Text[] texts) {
-			return true;
-		}
-
-		/**
-		 * Just retreives the unmodified values of the text fields as a 
-		 * string array. 
-		 */
-		public String[] retrieveResultStrings(Text[] texts) {
-			int n = texts.length;
-			String[] result = new String[n];
-			for (int i = 0; i < n; i++) {
-				result[i] = texts[i].getText();
-			}
-			return result;
-		}
-		
-	}
-
-	private TableViewer viewer;
-	private Button addButton;
-	private Button editButton;
-	private Button removeButton;
-	private String dialogTitle;
-	private String[] fieldLabels;
-	private IDataModel model;
-	private String propertyName;
-	private Image labelProviderImage;
-	private StringArrayDialogCallback callback;
-
-	public StringArrayTableWizardSection(Composite parent, String title, String addButtonLabel, String removeButtonLabel, 
-			String[] labelsForText, Image labelProviderImage, IDataModel model, String propertyName) {
-		this(parent, title, addButtonLabel, null, removeButtonLabel, labelsForText, labelProviderImage, model, propertyName);
-	}
-
-	public StringArrayTableWizardSection(Composite parent, String title, String addButtonLabel, String editButtonLabel, String removeButtonLabel, 
-			String[] labelsForText, Image labelProviderImage, IDataModel model, String propertyName) {
-		this(parent, title, title, addButtonLabel, editButtonLabel, removeButtonLabel, labelsForText, labelsForText, labelProviderImage, model, propertyName);
-	}
-
-	public StringArrayTableWizardSection(Composite parent, String componentLabel, String dialogTitle, String addButtonLabel, String editButtonLabel, String removeButtonLabel, 
-			String[] columnTitles, String[] fieldLabels, Image labelProviderImage, IDataModel model, String propertyName) {
-		super(parent, SWT.NONE);
-		this.dialogTitle = dialogTitle;
-		this.fieldLabels = fieldLabels;
-		this.labelProviderImage = labelProviderImage;
-		this.model = model;
-		this.propertyName = propertyName;
-
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 4;
-		layout.marginWidth = 0;
-		this.setLayout(layout);
-		this.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label titleLabel = new Label(this, SWT.LEFT);
-		titleLabel.setText(componentLabel);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		titleLabel.setLayoutData(data);
-
-		Table table = new Table(this, SWT.FULL_SELECTION | SWT.BORDER);
-        viewer = new TableViewer(table);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		viewer.setContentProvider(new StringArrayListContentProvider());
-		viewer.setLabelProvider(new StringArrayListLabelProvider());
-		
-		final Composite buttonCompo = new Composite(this, SWT.NULL);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		buttonCompo.setLayout(layout);
-		buttonCompo.setLayoutData(new GridData(GridData.FILL_VERTICAL | GridData.VERTICAL_ALIGN_BEGINNING));
-
-		addButton = new Button(buttonCompo, SWT.PUSH);
-		addButton.setText(addButtonLabel);
-		addButton.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
-		addButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				handleAddButtonSelected();
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				//Do nothing
-			}
-		});
-
-		if (editButtonLabel != null) {
-			editButton = new Button(buttonCompo, SWT.PUSH);
-			editButton.setText(editButtonLabel);
-			editButton.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
-			editButton.addSelectionListener(new SelectionListener() {
-				public void widgetSelected(SelectionEvent event) {
-					handleEditButtonSelected();
-				}
-				public void widgetDefaultSelected(SelectionEvent event) {
-					//Do nothing
-				}
-			});
-			editButton.setEnabled(false);
-		}
-
-		removeButton = new Button(buttonCompo, SWT.PUSH);
-		removeButton.setText(removeButtonLabel);
-		removeButton.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
-		removeButton.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent event) {
-				handleRemoveButtonSelected();
-			}
-			public void widgetDefaultSelected(SelectionEvent event) {
-				//Do nothing
-			}
-		});
-		removeButton.setEnabled(false);
-
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				ISelection selection = event.getSelection();
-				if (editButton != null) {
-					boolean enabled = ((IStructuredSelection) selection).size() == 1;
-					editButton.setEnabled(enabled);
-				}
-				removeButton.setEnabled(!selection.isEmpty());
-			}
-		});
-		
-		if (editButton != null) {
-			viewer.addDoubleClickListener(new IDoubleClickListener() {
-				public void doubleClick(DoubleClickEvent event) {
-					handleEditButtonSelected();
-				}
-			});
-		}
-		
-		if (columnTitles.length > 1) {
-            for (int i = 0; i < columnTitles.length; i++) {
-                TableColumn tableColumn = new TableColumn(table, SWT.NONE);
-                tableColumn.setText(columnTitles[i]);
-            }
-            table.setHeaderVisible(true);
-            this.addControlListener(new ControlAdapter() {
-                public void controlResized(ControlEvent e) {
-                    Table table = viewer.getTable();
-                    TableColumn[] columns = table.getColumns();
-                    Point buttonArea = buttonCompo.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-                    Rectangle area = table.getParent().getClientArea();
-                    Point preferredSize = viewer.getTable().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-                    int width = area.width - 2 * table.getBorderWidth() - buttonArea.x - columns.length * 2;
-                    if (preferredSize.y > area.height + table.getHeaderHeight()) {
-                        // Subtract the scrollbar width from the total column width
-                        // if a vertical scrollbar will be required
-                        Point vBarSize = table.getVerticalBar().getSize();
-                        width -= vBarSize.x;
-                    }
-                    Point oldSize = table.getSize();
-                    int consumeWidth = 0;
-                    for (int i = 0; i < columns.length; i++) {
-                        if (oldSize.x > area.width) {
-                            // table is getting smaller so make the columns 
-                            // smaller first and then resize the table to
-                            // match the client area width
-                            consumeWidth = setColumntWidth(width, columns, consumeWidth, i);
-                            table.setSize(area.width - buttonArea.x - columns.length * 2, area.height);
-                        } else {
-                            // table is getting bigger so make the table 
-                            // bigger first and then make the columns wider
-                            // to match the client area width
-                            table.setSize(area.width - buttonArea.x - columns.length * 2, area.height);
-                            consumeWidth = setColumntWidth(width, columns, consumeWidth, i);
-                        }
-                    }
-                }
-
-                private int setColumntWidth(int width, TableColumn[] columns, int consumeWidth, int i) {
-                    if (i < columns.length - 1) {
-                        columns[i].setWidth(width / columns.length);
-                        consumeWidth += columns[i].getWidth();
-                    } else {
-                        columns[i].setWidth(width - consumeWidth);
-                    }
-                    return consumeWidth;
-                }
-            });
-        }
-        
-		callback = new StringArrayDialogCallbackAdapter();
-	}
-
-	private void handleAddButtonSelected() {
-		AddStringArrayDialog dialog = new AddStringArrayDialog(getShell(), dialogTitle, fieldLabels);
-		dialog.open();
-		String[] stringArray = dialog.getStringArray();
-		addStringArray(stringArray);
-	}
-
-	private void handleEditButtonSelected() {
-		ISelection s = viewer.getSelection();
-		if (!(s instanceof IStructuredSelection))
-			return;
-		IStructuredSelection selection = (IStructuredSelection) s;
-		if (selection.size() != 1)
-			return;
-		
-		Object selectedObj = selection.getFirstElement();
-		String[] valuesForText = (String[]) selectedObj;
-		
-		EditStringArrayDialog dialog = new EditStringArrayDialog(getShell(), dialogTitle, fieldLabels, valuesForText);
-		dialog.open();
-		String[] stringArray = dialog.getStringArray();
-		editStringArray(valuesForText, stringArray);
-	}
-
-	private void handleRemoveButtonSelected() {
-		ISelection selection = viewer.getSelection();
-		if (selection.isEmpty() || !(selection instanceof IStructuredSelection))
-			return;
-		List selectedObj = ((IStructuredSelection) selection).toList();
-		removeStringArrays(selectedObj);
-	}
-	
-	public void addStringArray(String[] stringArray) {
-		if (stringArray == null)
-			return;
-		List valueList = (List) viewer.getInput();
-		if (valueList == null)
-			valueList = new ArrayList();
-		valueList.add(stringArray);
-		setInput(valueList);
-	}
-
-	public void editStringArray(String[] oldStringArray, String[] newStringArray) {
-		if (newStringArray == null)
-			return;
-		
-		List valueList = (List) viewer.getInput();
-		if (valueList == null)
-			valueList = new ArrayList();
-		
-		int index = valueList.indexOf(oldStringArray);
-		if (index == -1) {
-			valueList.add(newStringArray);
-		} else {
-			valueList.set(index, newStringArray);
-		}
-		
-		setInput(valueList);
-	}
-
-	public void removeStringArray(Object selectedStringArray) {
-		List valueList = (List) viewer.getInput();
-		valueList.remove(selectedStringArray);
-		setInput(valueList);
-	}
-	
-	public void removeStringArrays(Collection selectedStringArrays) {
-		List valueList = (List) viewer.getInput();
-		valueList.removeAll(selectedStringArrays);
-		setInput(valueList);
-	}
-
-	public void setInput(List input) {
-		viewer.setInput(input);
-		// Create a new list to trigger property change
-		List newInput = new ArrayList();
-		newInput.addAll(input);
-		model.setProperty(propertyName, newInput);
-	}
-
-	public TableViewer getTableViewer() {
-		return viewer;
-	}
-
-	public Button getAddButton() {
-		return addButton;
-	}
-
-	public Button getEditButton() {
-		return editButton;
-	}
-
-	public Button getRemoveButton() {
-		return removeButton;
-	}
-	
-	/**
-	 * Set callback for customizing the preprocessing of the user input. 
-	 * 
-	 * @param callback an implementation of the callback interface. 
-	 */
-	public void setCallback(StringArrayDialogCallback callback) {
-		this.callback = callback;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/TableObjects.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/TableObjects.java
deleted file mode 100644
index c480d0b..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/TableObjects.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Insert the type's description here. Creation date: (3/19/2001 5:10:14 PM)
- * 
- * @author: Administrator
- */
-public class TableObjects {
-	public List tableObjectsList;
-
-	/**
-	 * EJBs constructor comment.
-	 */
-	public TableObjects() {
-		super();
-		tableObjectsList = new ArrayList();
-	}
-
-	public List getTableObjects() {
-		return tableObjectsList;
-	}
-
-	protected void initList() {
-		if (tableObjectsList == null)
-			tableObjectsList = new ArrayList();
-
-	}
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportMainPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportMainPage.java
deleted file mode 100644
index 235f013..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportMainPage.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on May 1, 2003
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.util.List;
-
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-
-
-/**
- * @author Sachin
- * 
- * To change the template for this generated type comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public class WizardClassesImportMainPage extends WizardPage {
-	Composite composite;
-
-	protected Button importFromDir;
-	protected Button importFromZip;
-
-	private List dragAndDropFileNames = null;
-
-	/**
-	 * @param pageName
-	 */
-	public WizardClassesImportMainPage(String pageName) {
-		super(pageName);
-		setTitle(J2EEUIMessages.getResourceString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-		setDescription(J2EEUIMessages.getResourceString("FileImport.importFileSystem")); //$NON-NLS-1$
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor("import_class_file_wiz_ban")); //$NON-NLS-1$
-	}
-
-	public WizardClassesImportMainPage(String pageName, List fileNames) {
-		super(pageName);
-		setTitle(J2EEUIMessages.getResourceString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-		setDescription(J2EEUIMessages.getResourceString("FileImport.importFileSystem")); //$NON-NLS-1$
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor("import_class_file_wiz_ban")); //$NON-NLS-1$
-		dragAndDropFileNames = fileNames;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJ2EEUIContextIds.IMPORT_CLASS_WIZARD_P1);
-		initializeDialogUnits(parent);
-		Composite aComposite = new Composite(parent, SWT.NULL);
-		aComposite.setLayout(new GridLayout());
-		aComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-		aComposite.setSize(aComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-		aComposite.setFont(parent.getFont());
-		createImportTypeGroup(aComposite);
-		setControl(aComposite);
-	}
-
-	protected void createImportTypeGroup(Composite parent) {
-		Composite importTypeGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		importTypeGroup.setLayout(layout);
-		importTypeGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-		//importTypeGroup.setText(WorkbenchMessages.getString("WizardExportPage.options"));
-		// //$NON-NLS-1$
-
-		SelectionListener selectionListener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IWizard wiz = getWizard();
-				if (((ClassesImportWizard) wiz).page1 != null) {
-					((ClassesImportWizard) wiz).page1.blankPage();
-				}
-			}
-		};
-		importFromDir = new Button(importTypeGroup, SWT.RADIO);
-		importFromDir.setText(J2EEUIMessages.getResourceString("ClassesImport.fromDir")); //$NON-NLS-1$
-		importFromDir.addSelectionListener(selectionListener);
-
-		importFromZip = new Button(importTypeGroup, SWT.RADIO);
-		importFromZip.setText(J2EEUIMessages.getResourceString("ClassesImport.fromZip")); //$NON-NLS-1$
-		importFromZip.addSelectionListener(selectionListener);
-
-		IWizard wiz = getWizard();
-		String fileName = null;
-		if (((ClassesImportWizard) wiz).fileNames != null)
-			fileName = ((ClassesImportWizard) wiz).fileNames.get(0).toString();
-		if (fileName != null && (fileName.endsWith(".zip") || fileName.endsWith(".jar"))) { //$NON-NLS-1$ //$NON-NLS-2$
-			importFromDir.setSelection(false);
-			importFromZip.setSelection(true);
-		} else {
-			importFromDir.setSelection(true);
-			importFromZip.setSelection(false);
-		}
-	}
-
-	protected boolean isSetImportFromDir() {
-		if (importFromDir != null)
-			return importFromDir.getSelection();
-
-		String fileName = dragAndDropFileNames.get(0).toString();
-		if (fileName != null && (fileName.endsWith(".zip") || fileName.endsWith(".jar"))) { //$NON-NLS-1$ //$NON-NLS-2$
-			return false;
-		}
-		return true;
-	}
-}
-
-
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportPage1.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportPage1.java
deleted file mode 100644
index 4667f72..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/WizardClassesImportPage1.java
+++ /dev/null
@@ -1,1417 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.wizard;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.FileSystemElement;
-import org.eclipse.ui.dialogs.WizardResourceImportPage;
-import org.eclipse.ui.internal.ide.dialogs.IElementFilter;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider;
-
-
-/**
- * Page 1 of the base resource import-from-file-system Wizard
- */
-/* package */
-class WizardClassesImportPage1 extends WizardResourceImportPage implements Listener {
-
-	// widgets
-	protected Combo sourceNameField;
-	protected Button overwriteExistingResourcesCheckbox;
-	protected Button createContainerStructureButton;
-	protected Button createOnlySelectedButton;
-	protected Button sourceBrowseButton;
-	//protected Button selectTypesButton;
-	protected Button selectAllButton;
-	protected Button deselectAllButton;
-	//A boolean to indicate if the user has typed anything
-	private boolean entryChanged = false;
-
-	// dialog store id constants
-	private final static String STORE_SOURCE_NAMES_ID = "WizardFileSystemResourceImportPage1.STORE_SOURCE_NAMES_ID"; //$NON-NLS-1$
-	//$NON-NLS-1$
-	//private final static String STORE_OVERWRITE_EXISTING_RESOURCES_ID =
-	// "WizardFileSystemResourceImportPage1.STORE_OVERWRITE_EXISTING_RESOURCES_ID"; //$NON-NLS-1$
-	//$NON-NLS-1$
-	//private final static String STORE_CREATE_CONTAINER_STRUCTURE_ID =
-	// "WizardFileSystemResourceImportPage1.STORE_CREATE_CONTAINER_STRUCTURE_ID"; //$NON-NLS-1$
-	//$NON-NLS-1$
-
-	//private static final String SELECT_TYPES_TITLE = "DataTransfer.selectTypes"; //$NON-NLS-1$
-	private static final String SELECT_ALL_TITLE = J2EEUIMessages.getResourceString("DataTransfer.selectAll"); //$NON-NLS-1$
-	private static final String DESELECT_ALL_TITLE = J2EEUIMessages.getResourceString("DataTransfer.deselectAll"); //$NON-NLS-1$
-	private static final String SELECT_SOURCE_MESSAGE = J2EEUIMessages.getResourceString("FileImport.selectSource"); //$NON-NLS-1$
-	protected static final String SOURCE_EMPTY_MESSAGE = J2EEUIMessages.getResourceString("FileImport.sourceEmpty"); //$NON-NLS-1$
-
-	private IPath importedClassesPath;
-	//protected Button importFromDir;
-	//protected Button importFromZip;
-
-
-	private ZipFileStructureProvider providerCache;
-	ZipFileStructureProvider currentProvider;
-
-	private static final String FILE_IMPORT_MASK = "*.jar;*.zip"; //$NON-NLS-1$
-
-	private List dragAndDropFileNames = null;
-
-	boolean createFullStructure = false;
-	private String packageBaseDirName = null;
-
-	//private MinimizedFileSystemElement test = null;
-
-	//private Composite dummyParent = null;
-
-	//private final static int SIZING_SELECTION_WIDGET_WIDTH = 400;
-	//private final static int SIZING_SELECTION_WIDGET_HEIGHT = 150;
-
-	private String packageDirStruc = null;
-
-	/**
-	 * Creates an instance of this class
-	 */
-	protected WizardClassesImportPage1(String name, IWorkbench aWorkbench, IStructuredSelection selection) {
-		super(name, selection);
-	}
-
-	/**
-	 * Creates an instance of this class
-	 * 
-	 * @param aWorkbench
-	 *            IWorkbench
-	 * @param selection
-	 *            IStructuredSelection
-	 */
-	public WizardClassesImportPage1(IWorkbench aWorkbench, IStructuredSelection selection, IPath importedClassesPath, List fileNames) {
-		this("fileSystemImportPage1", aWorkbench, selection); //$NON-NLS-1$
-		setTitle(J2EEUIMessages.getResourceString("DataTransfer.fileSystemTitle")); //$NON-NLS-1$
-		setDescription(J2EEUIMessages.getResourceString("FileImport.importFileSystem")); //$NON-NLS-1$
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor("import_class_file_wiz_ban")); //$NON-NLS-1$
-		this.importedClassesPath = importedClassesPath;
-		if (fileNames != null && fileNames.size() != 0) {
-			dragAndDropFileNames = fileNames;
-		}
-	}
-
-	public void blankPage() {
-		if (this.selectionGroup != null)
-			this.selectionGroup.setRoot(null);
-		if (sourceNameField != null)
-			sourceNameField.setText(""); //$NON-NLS-1$
-	}
-
-
-	/**
-	 * Creates a new button with the given id.
-	 * <p>
-	 * The <code>Dialog</code> implementation of this framework method creates a standard push
-	 * button, registers for selection events including button presses and registers default buttons
-	 * with its shell. The button id is stored as the buttons client data. Note that the parent's
-	 * layout is assumed to be a GridLayout and the number of columns in this layout is incremented.
-	 * Subclasses may override.
-	 * </p>
-	 * 
-	 * @param parent
-	 *            the parent composite
-	 * @param id
-	 *            the id of the button (see <code>IDialogConstants.*_ID</code> constants for
-	 *            standard dialog button ids)
-	 * @param label
-	 *            the label from the button
-	 * @param defaultButton
-	 *            <code>true</code> if the button is to be the default button, and
-	 *            <code>false</code> otherwise
-	 */
-	protected Button createButton(Composite parent, int id, String label, boolean defaultButton) {
-		// increment the number of columns in the button bar
-		((GridLayout) parent.getLayout()).numColumns++;
-
-		Button button = new Button(parent, SWT.PUSH);
-
-		GridData buttonData = new GridData(GridData.FILL_HORIZONTAL);
-		button.setLayoutData(buttonData);
-
-		button.setData(new Integer(id));
-		button.setText(label);
-
-		if (defaultButton) {
-			Shell shell = parent.getShell();
-			if (shell != null) {
-				shell.setDefaultButton(button);
-			}
-			button.setFocus();
-		}
-		return button;
-	}
-
-	/**
-	 * Creates the buttons for selecting specific types or selecting all or none of the elements.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 */
-	protected final void createButtonsGroup(Composite parent) {
-		// top level group
-		Composite buttonComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-
-		layout.makeColumnsEqualWidth = true;
-		buttonComposite.setLayout(layout);
-		buttonComposite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-
-		// types edit button
-		//		selectTypesButton = createButton(buttonComposite, IDialogConstants.SELECT_TYPES_ID,
-		// SELECT_TYPES_TITLE, false);
-
-		SelectionListener listener = new SelectionAdapter() {
-			//			public void widgetSelected(SelectionEvent e) {
-			//				handleTypesEditButtonPressed();
-			//			}
-		};
-		//		selectTypesButton.addSelectionListener(listener);
-
-		selectAllButton = createButton(buttonComposite, IDialogConstants.SELECT_ALL_ID, SELECT_ALL_TITLE, false);
-
-		listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				setAllSelections(true);
-			}
-		};
-		selectAllButton.addSelectionListener(listener);
-
-		deselectAllButton = createButton(buttonComposite, IDialogConstants.DESELECT_ALL_ID, DESELECT_ALL_TITLE, false);
-
-		listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				setAllSelections(false);
-			}
-		};
-		deselectAllButton.addSelectionListener(listener);
-
-	}
-
-	/**
-	 * (non-Javadoc) Method declared on IDialogPage.
-	 */
-	public void createControl(Composite parent) {
-		//super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IJ2EEUIContextIds.IMPORT_CLASS_WIZARD_P2);
-		initializeDialogUnits(parent);
-
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL));
-		composite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-		composite.setFont(parent.getFont());
-
-		//dummyParent = composite;
-
-		createSourceGroup(composite);
-
-		//createSpacer(composite);
-
-		//createPlainLabel(composite,
-		// WorkbenchMessages.getString("WizardImportPage.destinationLabel")); //$NON-NLS-1$
-		//createDestinationGroup(composite);
-
-		createOptionsGroup(composite);
-
-		restoreWidgetValues();
-		updateWidgetEnablements();
-		setPageComplete(determinePageCompletion());
-
-		setControl(composite);
-
-		validateSourceGroup();
-		//WorkbenchHelp.setHelp(getControl(),
-		// IDataTransferHelpContextIds.FILE_SYSTEM_IMPORT_WIZARD_PAGE);
-	}
-
-	protected void createOptionsGroup(Composite parent) {
-		Composite optionsGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		optionsGroup.setLayout(layout);
-		optionsGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-		createOptionsGroupButtons(optionsGroup);
-
-	}
-
-	/**
-	 * Create the import options specification widgets.
-	 */
-	protected void createOptionsGroupButtons(Composite optionsGroup) {
-
-		// overwrite... checkbox
-		overwriteExistingResourcesCheckbox = new Button(optionsGroup, SWT.CHECK);
-		overwriteExistingResourcesCheckbox.setText(J2EEUIMessages.getResourceString("FileImport.overwriteExisting")); //$NON-NLS-1$
-	}
-
-	protected boolean isSetImportFromDir() {
-		ClassesImportWizard ciw = (ClassesImportWizard) getWizard();
-		return ciw.mainPage.isSetImportFromDir();
-	}
-
-	public String getClassFileDirectory(String s) {
-		int index = s.lastIndexOf(File.separatorChar);
-		return s.substring(0, index + 1);
-	}
-
-	/**
-	 * Create the group for creating the root directory
-	 */
-	protected void createRootDirectoryGroup(Composite parent) {
-		Composite sourceContainerGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		sourceContainerGroup.setLayout(layout);
-		sourceContainerGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-		new Label(sourceContainerGroup, SWT.NONE).setText(getSourceLabel());
-
-		// source name entry field
-		sourceNameField = new Combo(sourceContainerGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		sourceNameField.setLayoutData(data);
-
-		setSourceNameFieldForDragAndDrop();
-
-		sourceNameField.addListener(SWT.Modify, this);
-
-		sourceNameField.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateFromSourceField();
-
-			}
-		});
-
-		sourceNameField.addKeyListener(new KeyListener() {
-			/*
-			 * @see KeyListener.keyPressed
-			 */
-			public void keyPressed(KeyEvent e) {
-				//If there has been a key pressed then mark as dirty
-				entryChanged = true;
-
-			}
-
-			/*
-			 * @see KeyListener.keyReleased
-			 */
-			public void keyReleased(KeyEvent e) {
-				//do nothing
-			}
-		});
-
-		sourceNameField.addFocusListener(new FocusListener() {
-			/*
-			 * @see FocusListener.focusGained(FocusEvent)
-			 */
-			public void focusGained(FocusEvent e) {
-				//Do nothing when getting focus
-				if (dragAndDropFileNames != null) {
-					sourceNameField.setEnabled(false);
-				}
-
-			}
-
-			/*
-			 * @see FocusListener.focusLost(FocusEvent)
-			 */
-			public void focusLost(FocusEvent e) {
-				//Clear the flag to prevent constant update
-				if (entryChanged) {
-
-					entryChanged = false;
-					updateFromSourceField();
-				}
-
-			}
-		});
-
-		// source browse button
-		sourceBrowseButton = new Button(sourceContainerGroup, SWT.PUSH);
-		sourceBrowseButton.setText(J2EEUIMessages.getResourceString("DataTransfer.browse")); //$NON-NLS-1$
-		sourceBrowseButton.addListener(SWT.Selection, this);
-		sourceBrowseButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-
-		if (dragAndDropFileNames != null) {
-			sourceBrowseButton.setEnabled(false);
-		}
-
-	}
-
-	private void setSourceNameFieldForDragAndDrop() {
-		if (dragAndDropFileNames != null) {
-			String fileName = (String) (dragAndDropFileNames.get(0));
-			sourceNameField.setText(fileName);
-			File f = new File(fileName);
-			if (f.isFile()) {
-				if (ImportUtil.getExtension(f).equals("zip") || ImportUtil.getExtension(f).equals("jar")) { //$NON-NLS-1$ //$NON-NLS-2$
-					//importFromZip.setSelection(true);
-					//importFromDir.setSelection(false);
-				} else if (ImportUtil.getExtension(f).equals("class")) { //$NON-NLS-1$
-					sourceNameField.setText(getClassFileDirectory(fileName));
-
-					//get com.ibm.abc.ClassName
-					PackageNameResolver nameResolver = new PackageNameResolver();
-					String qualifiedClassName = nameResolver.getClassName(fileName);
-					if (qualifiedClassName != null) {
-
-						//get com
-						int index = qualifiedClassName.indexOf('.');
-						if (index == -1) {
-							String textToSet = fileName.substring(0, 1 + fileName.lastIndexOf(File.separatorChar));
-							sourceNameField.setText(textToSet);
-							return;
-						}
-						String baseDir = qualifiedClassName.substring(0, index);
-
-						//get com.ibm.abc
-						index = qualifiedClassName.lastIndexOf('.');
-						String packageName = qualifiedClassName.substring(0, index);
-						//get com/ibm/abc
-						packageDirStruc = packageName.replace('.', File.separatorChar);
-
-						//get C:\com
-						index = fileName.indexOf(baseDir);
-						//if packageDirStuc exists then set the sourceDir to com, else
-						//set the directory to the parent directory of the class
-						if (fileName.indexOf(packageDirStruc) != -1) {
-							int baseDirLength = baseDir.length();
-							String textToSet = fileName.substring(0, index + baseDirLength);
-							index = packageName.indexOf('.');
-							if (index == -1)
-								packageBaseDirName = packageName;
-							else
-								packageBaseDirName = packageName.substring(0, index);
-
-							f = new File(textToSet);
-							if (f.getParent() != null)
-								f = new File(f.getParent());
-							textToSet = f.getAbsolutePath(); //want to set the root directory to
-							// com's parent
-							sourceNameField.setText(textToSet);
-						}
-					}
-
-				}
-			}
-		}
-	}
-
-	/**
-	 * Update the receiver from the source name field.
-	 */
-
-	private void updateFromSourceField() {
-
-		setSourceName(sourceNameField.getText());
-		//Update enablements when this is selected
-		updateWidgetEnablements();
-	}
-
-	/**
-	 * Creates and returns a <code>FileSystemElement</code> if the specified file system object
-	 * merits one. The criteria for this are: Also create the children.
-	 */
-	protected MinimizedFileSystemElement createRootElement(Object fileSystemObject, IImportStructureProvider provider) {
-		boolean isContainer = provider.isFolder(fileSystemObject);
-		String elementLabel = provider.getLabel(fileSystemObject);
-
-		// Use an empty label so that display of the element's full name
-		// doesn't include a confusing label
-		MinimizedFileSystemElement dummyParent = new MinimizedFileSystemElement("", null, true); //$NON-NLS-1$
-		dummyParent.setPopulated();
-		MinimizedFileSystemElement result = new MinimizedFileSystemElement(elementLabel, dummyParent, isContainer);
-
-		result.setPackageBaseDirName(packageBaseDirName);
-		result.setFileSystemObject(fileSystemObject);
-
-		//Get the files for the element so as to build the first level
-		result.getFiles(provider);
-
-		return dummyParent;
-	}
-
-	/**
-	 * Create the import source specification widgets
-	 */
-	protected void createSourceGroup(Composite parent) {
-		//createImportTypeGroup(parent);
-		createRootDirectoryGroup(parent);
-		createFileSelectionGroup(parent);
-
-		createButtonsGroup(parent);
-	}
-
-	/**
-	 * Enable or disable the button group.
-	 */
-	protected void enableButtonGroup(boolean enable) {
-		//		selectTypesButton.setEnabled(enable);
-		selectAllButton.setEnabled(enable);
-		deselectAllButton.setEnabled(enable);
-	}
-
-	/**
-	 * Answer a boolean indicating whether the specified source currently exists and is valid
-	 */
-	protected boolean ensureSourceIsValid() {
-		if (isSetImportFromDir()) {
-			if (getSourceDirectory() != null && new File(getSourceDirectoryName()).isDirectory())
-				return true;
-			displayErrorDialog(getString("FileImport.invalidSource")); //$NON-NLS-1$
-			sourceNameField.setFocus();
-			return false;
-		}
-		ZipFile specifiedFile = getSpecifiedSourceFile();
-
-		if (specifiedFile == null) {
-			displayErrorDialog(getString("FileImport.invalidSource")); //$NON-NLS-1$
-			sourceNameField.setFocus();
-			return false;
-		}
-		return closeZipFile(specifiedFile);
-	}
-
-	/**
-	 * Execute the passed import operation. Answer a boolean indicating success.
-	 */
-	protected boolean executeImportOperation(ImportOperation op) {
-		initializeOperation(op);
-		if (createFullStructure) {
-			op.setCreateContainerStructure(true);
-		} else {
-			op.setCreateContainerStructure(false);
-		}
-
-		try {
-			getContainer().run(true, true, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			displayErrorDialog(e.getTargetException());
-			return false;
-		}
-
-		IStatus status = op.getStatus();
-		if (!status.isOK()) {
-			ErrorDialog.openError(getContainer().getShell(), getString("FileImport.importProblems"), //$NON-NLS-1$
-						null, // no special message
-						status);
-			return false;
-		}
-
-		return true;
-	}
-
-	// need the following private stuff just because the DataTransferMessages class is not public!
-	//private static final String RESOURCE_BUNDLE = "org.eclipse.ui.wizards.datatransfer.messages";
-	// //$NON-NLS-1$
-	//private static ResourceBundle bundle = ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	private static String getString(String key) {
-		try {
-			return J2EEUIMessages.getResourceString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * The Finish button was pressed. Try to do the required work now and answer a boolean
-	 * indicating success. If false is returned then the wizard will not close.
-	 * 
-	 * @return boolean
-	 */
-	public boolean finish() {
-		if (!ensureSourceIsValid())
-			return false;
-
-		clearProviderCache();
-
-		saveWidgetValues();
-
-		Iterator resourcesEnum = getSelectedResources().iterator();
-		List fileSystemObjects = new ArrayList();
-		while (resourcesEnum.hasNext()) {
-			fileSystemObjects.add(((FileSystemElement) resourcesEnum.next()).getFileSystemObject());
-		}
-
-		if (fileSystemObjects.size() > 0) {
-			if (getSourceDirectory() != null) {
-				return importResources(fileSystemObjects);
-			}
-			return importResourcesFromZip(fileSystemObjects);
-		}
-
-		MessageDialog.openInformation(getContainer().getShell(), getString("DataTransfer.information"), //$NON-NLS-1$
-					getString("FileImport.noneSelected")); //$NON-NLS-1$
-
-		return false;
-	}
-
-	/**
-	 * Returns a content provider for <code>FileSystemElement</code> s that returns only files as
-	 * children.
-	 */
-
-	protected ITreeContentProvider getFileProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object o) {
-				if (o instanceof MinimizedFileSystemElement) {
-					MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-					if (currentProvider != null) {
-						return element.getFiles(currentProvider).getChildren(element);
-					}
-					return element.getFiles(FileSystemStructureProvider.INSTANCE).getChildren(element);
-				}
-				return new Object[0];
-			}
-
-			public Object[] getElements(Object element) {
-				Object[] superObjects = super.getElements(element);
-				if (dragAndDropFileNames != null && getSourceDirectory() != null) {
-					MinimizedFileSystemElement anElement = null;
-					int newObjectsIndex = 0;
-					for (int i = 0; i < superObjects.length; i++) {
-						anElement = (MinimizedFileSystemElement) superObjects[i];
-
-						File file = (File) anElement.getFileSystemObject();
-
-						for (int k = 0; k < dragAndDropFileNames.size(); k++) {
-							if (file.getAbsolutePath().equals(dragAndDropFileNames.get(k))) {
-								newObjectsIndex++;
-							}
-						}
-					}
-					if (newObjectsIndex > 0) {
-						Object[] newObjects = new Object[newObjectsIndex];
-						newObjectsIndex = 0;
-
-						for (int i = 0; i < superObjects.length; i++) {
-							anElement = (MinimizedFileSystemElement) superObjects[i];
-
-							File file = (File) anElement.getFileSystemObject();
-
-							for (int k = 0; k < dragAndDropFileNames.size(); k++) {
-								if (file.getAbsolutePath().equals(dragAndDropFileNames.get(k))) {
-
-									newObjects[newObjectsIndex++] = anElement;
-
-								}
-							}
-
-						}
-						return newObjects;
-					}
-				}
-				return superObjects;
-			}
-		};
-	}
-
-	/**
-	 * Answer the root FileSystemElement that represents the contents of the currently-specified
-	 * source. If this FileSystemElement is not currently defined then create and return it.
-	 */
-	protected MinimizedFileSystemElement getFileSystemTree() {
-		if (isSetImportFromDir()) {
-			File sourceDirectory = getSourceDirectory();
-			if (sourceDirectory != null) {
-				return selectFiles(sourceDirectory, FileSystemStructureProvider.INSTANCE);
-			}
-			if (sourceNameField.getText().length() > 0) {
-				displayErrorDialog(getString("FileImport.invalidSource")); //$NON-NLS-1$
-				sourceNameField.setFocus();
-			}
-			return null;
-		}
-		ZipFile sourceFile = getSpecifiedSourceFile();
-		if (sourceFile == null) {
-			//Clear out the provider as well
-			this.currentProvider = null;
-			if (sourceNameField.getText().length() > 0) {
-				displayErrorDialog(getString("FileImport.invalidSource")); //$NON-NLS-1$
-				sourceNameField.setFocus();
-			}
-			return null;
-		}
-
-		ZipFileStructureProvider provider = getStructureProvider(sourceFile);
-		this.currentProvider = provider;
-		return selectFiles(provider.getRoot(), provider);
-	}
-
-	/**
-	 * Returns a content provider for <code>FileSystemElement</code> s that returns only folders
-	 * as children.
-	 */
-	protected ITreeContentProvider getFolderProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object o) {
-				if (o instanceof MinimizedFileSystemElement) {
-					MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-					if (currentProvider != null) {
-						return element.getFolders(currentProvider).getChildren(element);
-					}
-					return element.getFolders(FileSystemStructureProvider.INSTANCE).getChildren(element);
-				}
-				return new Object[0];
-			}
-
-			public boolean hasChildren(Object o) {
-				if (o instanceof MinimizedFileSystemElement) {
-					MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-					if (element.isPopulated())
-						return getChildren(element).length > 0;
-					//If we have not populated then wait until asked
-					return true;
-				}
-				return false;
-			}
-
-		};
-	}
-
-	/**
-	 * Returns a File object representing the currently-named source directory iff it exists as a
-	 * valid directory, or <code>null</code> otherwise.
-	 */
-	protected File getSourceDirectory() {
-		return getSourceDirectory(this.sourceNameField.getText());
-	}
-
-	/**
-	 * Returns a File object representing the currently-named source directory iff it exists as a
-	 * valid directory, or <code>null</code> otherwise.
-	 * 
-	 * @param path
-	 *            a String not yet formatted for java.io.File compatability
-	 */
-	private File getSourceDirectory(String path) {
-		if (isSetImportFromDir()) {
-			File sourceDirectory = new File(getSourceDirectoryName(path));
-			if (!sourceDirectory.exists() || !sourceDirectory.isDirectory()) {
-				return null;
-			}
-
-			return sourceDirectory;
-		}
-		return null;
-	}
-
-	/**
-	 * Answer the directory name specified as being the import source. Note that if it ends with a
-	 * separator then the separator is first removed so that java treats it as a proper directory
-	 */
-	private String getSourceDirectoryName() {
-		return getSourceDirectoryName(this.sourceNameField.getText());
-	}
-
-	/**
-	 * Answer the directory name specified as being the import source. Note that if it ends with a
-	 * separator then the separator is first removed so that java treats it as a proper directory
-	 */
-	private String getSourceDirectoryName(String sourceName) {
-		IPath result = new Path(sourceName.trim());
-
-		if (result.getDevice() != null && result.segmentCount() == 0) // something like "c:"
-			result = result.addTrailingSeparator();
-		else
-			result = result.removeTrailingSeparator();
-
-		return result.toOSString();
-	}
-
-	/**
-	 * Answer the string to display as the label for the source specification field
-	 */
-	protected String getSourceLabel() {
-		return J2EEUIMessages.getResourceString("DataTransfer.directory"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Handle all events and enablements for widgets in this dialog
-	 * 
-	 * @param event
-	 *            Event
-	 */
-	public void handleEvent(Event event) {
-		if (event.widget == sourceBrowseButton) {
-			if (isSetImportFromDir()) {
-				handleSourceBrowseButtonPressed();
-			} else {
-				handleSourceBrowseButtonPressedForZip();
-			}
-		}
-
-		super.handleEvent(event);
-
-	}
-
-	/**
-	 * Open an appropriate source browser so that the user can specify a source to import from
-	 */
-	protected void handleSourceBrowseButtonPressed() {
-		String currentSource = this.sourceNameField.getText();
-		DirectoryDialog dialog = new DirectoryDialog(sourceNameField.getShell(), SWT.SAVE);
-		dialog.setMessage(SELECT_SOURCE_MESSAGE);
-		dialog.setFilterPath(getSourceDirectoryName(currentSource));
-
-		String selectedDirectory = dialog.open();
-		if (selectedDirectory != null) {
-			//Just quit if the directory is not valid
-			if ((getSourceDirectory(selectedDirectory) == null) || selectedDirectory.equals(currentSource))
-				return;
-			//If it is valid then proceed to populate
-			setErrorMessage(null);
-			setSourceName(selectedDirectory);
-			selectionGroup.setFocus();
-		}
-	}
-
-	/**
-	 * Open a registered type selection dialog and note the selections in the receivers
-	 * types-to-export field., Added here so that inner classes can have access
-	 */
-	protected void handleTypesEditButtonPressed() {
-
-		super.handleTypesEditButtonPressed();
-	}
-
-	/**
-	 * Import the resources with extensions as specified by the user
-	 */
-	protected boolean importResources(List fileSystemObjects) {
-		Iterator i = fileSystemObjects.iterator();
-		while (i.hasNext()) {
-			File f = (File) i.next();
-			List singleItemList = new ArrayList();
-			singleItemList.add(f);
-			String textToSet = getPackageName(f);
-			if (textToSet != null) {
-				File newSource = new File(textToSet);
-				executeImportOperation(new ImportOperation(getContainerFullPath(), newSource, FileSystemStructureProvider.INSTANCE, this, singleItemList));
-			} else {
-				executeImportOperation(new ImportOperation(getContainerFullPath(), getSourceDirectory(), FileSystemStructureProvider.INSTANCE, this, singleItemList));
-
-			}
-		}
-		return true;
-
-	}
-
-	protected String getPackageName(File f) {
-		if (ImportUtil.getExtension(f).equals("class")) { //$NON-NLS-1$
-			String fileName = f.getAbsolutePath();
-			//get com.ibm.abc.ClassName
-			PackageNameResolver nameResolver = new PackageNameResolver();
-			String qualifiedClassName = nameResolver.getClassName(fileName);
-			if (qualifiedClassName != null) {
-
-				//get com
-				int index = qualifiedClassName.indexOf('.');
-				if (index == -1) {
-					return fileName.substring(0, 1 + fileName.lastIndexOf(File.separatorChar));
-				}
-				String baseDir = qualifiedClassName.substring(0, index);
-
-				//get com.ibm.abc
-				index = qualifiedClassName.lastIndexOf('.');
-				String packageName = qualifiedClassName.substring(0, index);
-
-				//get com/ibm/abc
-				packageDirStruc = packageName.replace('.', File.separatorChar);
-
-				//get C:\com
-				index = fileName.indexOf(baseDir);
-				//if packageDirStuc exists then set the sourceDir to com, else
-				//set the directory to the parent directory of the class
-				if (fileName.indexOf(packageDirStruc) != -1) {
-					int baseDirLength = baseDir.length();
-					String textToSet = fileName.substring(0, index + baseDirLength);
-					index = packageName.indexOf('.');
-					if (index == -1)
-						packageBaseDirName = packageName;
-					else
-						packageBaseDirName = packageName.substring(0, index);
-
-					f = new File(textToSet);
-					if (f.getParent() != null)
-						f = new File(f.getParent());
-					textToSet = f.getAbsolutePath(); //want to set the root directory to com's
-					// parent
-					//sourceNameField.setText(textToSet);
-					return textToSet;
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Initializes the specified operation appropriately.
-	 */
-	protected void initializeOperation(ImportOperation op) {
-
-		/*
-		 * op.setCreateContainerStructure( createContainerStructureButton.getSelection());
-		 */
-		op.setOverwriteResources(overwriteExistingResourcesCheckbox.getSelection());
-	}
-
-	/**
-	 * Returns whether the extension provided is an extension that has been specified for export by
-	 * the user.
-	 * 
-	 * @param extension
-	 *            the resource name
-	 * @return <code>true</code> if the resource name is suitable for export based upon its
-	 *         extension
-	 */
-	protected boolean isExportableExtension(String extension) {
-		if (selectedTypes == null) // ie.- all extensions are acceptable
-			return true;
-
-		Iterator aenum = selectedTypes.iterator();
-		while (aenum.hasNext()) {
-			if (extension.equalsIgnoreCase((String) aenum.next()))
-				return true;
-		}
-
-		return false;
-	}
-
-	/**
-	 * Repopulate the view based on the currently entered directory.
-	 */
-	protected void resetSelection() {
-
-		MinimizedFileSystemElement currentRoot = getFileSystemTree();
-		this.selectionGroup.setRoot(currentRoot);
-		if (dragAndDropFileNames != null) {
-
-			if (dragAndDropFileNames.get(0).toString().endsWith(".zip") == false && dragAndDropFileNames.get(0).toString().endsWith(".jar") == false) { //$NON-NLS-1$ //$NON-NLS-2$
-				this.selectionGroup.expandAll();
-			}
-
-			MinimizedFileSystemElement temp = (MinimizedFileSystemElement) currentRoot.getFolders().getChildren()[0];
-
-			List dirList = pathToArray();
-
-			for (int i = 0; i < dirList.size(); i++) {
-				String s = (String) dirList.get(i);
-				Object[] folders = temp.getFolders().getChildren();
-				for (int k = 0; k < folders.length; k++) {
-					if (((File) ((MinimizedFileSystemElement) folders[k]).getFileSystemObject()).getName().equals(s)) {
-						temp = (MinimizedFileSystemElement) temp.getFolders().getChildren()[k];
-						break;
-					}
-				}
-
-			}
-
-			if (dragAndDropFileNames.get(0).toString().endsWith(".zip") == false && dragAndDropFileNames.get(0).toString().endsWith(".jar") == false) { //$NON-NLS-1$ //$NON-NLS-2$
-				this.selectionGroup.initialCheckTreeItem(temp);
-			}
-
-			//If can figure out how to pre-highlight dir, then use following code
-			//to check dragged files only. Also need to show all files in tree.
-			/*
-			 * String fileName = null; MinimizedFileSystemElement name = null; int numFiles =
-			 * temp.getFiles().getChildren().length; Object[] files = temp.getFiles().getChildren();
-			 * for(int i = 0; i < dragAndDropFileNames.size(); i++) { fileName = (new
-			 * File((String)dragAndDropFileNames.get(i))).getName(); for(int k = 0; k < numFiles;
-			 * k++) { if(fileName.equals(((File) ((MinimizedFileSystemElement)
-			 * files[0]).getFileSystemObject()).getName())) {
-			 * this.selectionGroup.initialCheckTreeItem(temp); break; } } }
-			 */
-
-			//this.selectionGroup.setAllSelections(true);
-		}
-	}
-
-	private List pathToArray() {
-		String s = (String) dragAndDropFileNames.get(0);
-
-		PackageNameResolver nameResolver = new PackageNameResolver();
-		String qualifiedClassName = nameResolver.getClassName(s);
-
-		int slashCounts = 0;
-		if (qualifiedClassName != null) {
-			int index = qualifiedClassName.indexOf('.');
-			if (index == -1) {
-				return Collections.EMPTY_LIST;
-			}
-			String baseDir = qualifiedClassName.substring(0, index);
-			for (int i = s.indexOf(baseDir); i < s.lastIndexOf(File.separatorChar); i++) {
-				if (s.charAt(i) == File.separatorChar)
-					slashCounts++;
-			}
-		}
-
-		List dirNamesArray = new ArrayList(slashCounts);
-		if (s.endsWith(".zip") || s.endsWith(".jar")) { //$NON-NLS-1$ //$NON-NLS-2$
-			return dirNamesArray;
-		}
-		int startIndex = 0;
-		int endIndex;
-		for (int i = 0; i <= slashCounts; i++) {
-			endIndex = qualifiedClassName.indexOf('.', startIndex);
-			dirNamesArray.add(qualifiedClassName.substring(startIndex, endIndex));
-			startIndex = endIndex + 1;
-		}
-		return dirNamesArray;
-	}
-
-	/**
-	 * Use the dialog store to restore widget values to the values that they held last time this
-	 * wizard was used to completion
-	 */
-	protected void restoreWidgetValues() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-			if (sourceNames == null)
-				return; // ie.- no values stored, so stop
-
-			// set filenames history
-			for (int i = 0; i < sourceNames.length; i++)
-				sourceNameField.add(sourceNames[i]);
-		}
-	}
-
-	/**
-	 * Since Finish was pressed, write widget values to the dialog store so that they will persist
-	 * into the next invocation of this wizard page
-	 */
-	protected void saveWidgetValues() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			// update source names history
-			String[] sourceNames = settings.getArray(STORE_SOURCE_NAMES_ID);
-			if (sourceNames == null)
-				sourceNames = new String[0];
-
-			sourceNames = addToHistory(sourceNames, getSourceDirectoryName());
-			settings.put(STORE_SOURCE_NAMES_ID, sourceNames);
-
-		}
-	}
-
-	/**
-	 * Invokes a file selection operation using the specified file system and structure provider. If
-	 * the user specifies files to be imported then this selection is cached for later retrieval and
-	 * is returned.
-	 */
-	protected MinimizedFileSystemElement selectFiles(final Object rootFileSystemObject, final IImportStructureProvider structureProvider) {
-
-		final MinimizedFileSystemElement[] results = new MinimizedFileSystemElement[1];
-
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				//Create the root element from the supplied file system object
-				results[0] = createRootElement(rootFileSystemObject, structureProvider);
-			}
-		});
-
-		return results[0];
-	}
-
-	/**
-	 * Set all of the selections in the selection group to value. Implemented here to provide access
-	 * for inner classes.
-	 * 
-	 * @param value
-	 *            boolean
-	 */
-	protected void setAllSelections(boolean value) {
-		super.setAllSelections(value);
-	}
-
-	/**
-	 * Sets the source name of the import to be the supplied path. Adds the name of the path to the
-	 * list of items in the source combo and selects it.
-	 * 
-	 * @param path
-	 *            the path to be added
-	 */
-	protected void setSourceName(String path) {
-
-		if (path.length() > 0) {
-
-			String[] currentItems = this.sourceNameField.getItems();
-			int selectionIndex = -1;
-			for (int i = 0; i < currentItems.length; i++) {
-				if (currentItems[i].equals(path))
-					selectionIndex = i;
-			}
-			if (selectionIndex < 0) {
-				int oldLength = currentItems.length;
-				String[] newItems = new String[oldLength + 1];
-				System.arraycopy(currentItems, 0, newItems, 0, oldLength);
-				newItems[oldLength] = path;
-				this.sourceNameField.setItems(newItems);
-				selectionIndex = oldLength;
-			}
-			this.sourceNameField.select(selectionIndex);
-
-			resetSelection();
-		}
-	}
-
-	/**
-	 * Update the tree to only select those elements that match the selected types
-	 */
-	protected void setupSelectionsBasedOnSelectedTypes() {
-		ProgressMonitorDialog dialog = new ProgressMonitorDialog(getContainer().getShell());
-		final Map selectionMap = new Hashtable();
-
-		final IElementFilter filter = new IElementFilter() {
-
-			public void filterElements(Collection files, IProgressMonitor monitor) throws InterruptedException {
-				if (files == null) {
-					throw new InterruptedException();
-				}
-				Iterator filesList = files.iterator();
-				while (filesList.hasNext()) {
-					if (monitor.isCanceled())
-						throw new InterruptedException();
-					checkFile(filesList.next());
-				}
-			}
-
-			public void filterElements(Object[] files, IProgressMonitor monitor) throws InterruptedException {
-				if (files == null) {
-					throw new InterruptedException();
-				}
-				for (int i = 0; i < files.length; i++) {
-					if (monitor.isCanceled())
-						throw new InterruptedException();
-					checkFile(files[i]);
-				}
-			}
-
-			private void checkFile(Object fileElement) {
-				MinimizedFileSystemElement file = (MinimizedFileSystemElement) fileElement;
-				if (isExportableExtension(file.getFileNameExtension())) {
-					List elements = new ArrayList();
-					FileSystemElement parent = file.getParent();
-					if (selectionMap.containsKey(parent))
-						elements = (List) selectionMap.get(parent);
-					elements.add(file);
-					selectionMap.put(parent, elements);
-				}
-			}
-
-		};
-
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(final IProgressMonitor monitor) throws InterruptedException {
-				monitor.beginTask("ImportPage.filterSelections", IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-				getSelectedResources(filter, monitor);
-			}
-		};
-
-		try {
-			dialog.run(true, true, runnable);
-		} catch (InvocationTargetException exception) {
-			//Couldn't start. Do nothing.
-			return;
-		} catch (InterruptedException exception) {
-			//Got interrupted. Do nothing.
-			return;
-		}
-		// make sure that all paint operations caused by closing the progress
-		// dialog get flushed, otherwise extra pixels will remain on the screen until
-		// updateSelections is completed
-		getShell().update();
-		// The updateSelections method accesses SWT widgets so cannot be executed
-		// as part of the above progress dialog operation since the operation forks
-		// a new process.
-		if (selectionMap != null) {
-			updateSelections(selectionMap);
-		}
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on IDialogPage. Set the selection up when it becomes visible.
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		resetSelection();
-		if (visible)
-			this.sourceNameField.setFocus();
-	}
-
-	/**
-	 * Update the selections with those in map . Implemented here to give inner class visibility
-	 * 
-	 * @param map
-	 *            Map - key tree elements, values Lists of list elements
-	 */
-	protected void updateSelections(Map map) {
-		super.updateSelections(map);
-	}
-
-	/**
-	 * Check if widgets are enabled or disabled by a change in the dialog. Provided here to give
-	 * access to inner classes.
-	 * 
-	 * @param event
-	 *            Event
-	 */
-	protected void updateWidgetEnablements() {
-
-		super.updateWidgetEnablements();
-	}
-
-	/**
-	 * Answer a boolean indicating whether self's source specification widgets currently all contain
-	 * valid values.
-	 */
-	protected boolean validateSourceGroup() {
-		if (getSourceDirectory() != null) {
-			File sourceDirectory = getSourceDirectory();
-			if (sourceDirectory == null) {
-				setMessage(SOURCE_EMPTY_MESSAGE);
-				enableButtonGroup(false);
-				return false;
-			}
-
-			if (sourceConflictsWithDestination(new Path(sourceDirectory.getPath()))) {
-				setErrorMessage(getSourceConflictMessage()); //$NON-NLS-1$
-				enableButtonGroup(false);
-				return false;
-			}
-
-			enableButtonGroup(true);
-			return true;
-		}
-		//If there is nothing being provided to the input then there is a problem
-		if (this.currentProvider == null) {
-			setMessage(SOURCE_EMPTY_MESSAGE);
-			enableButtonGroup(false);
-			return false;
-		}
-		enableButtonGroup(true);
-		return true;
-	}
-
-	/**
-	 * Returns whether the source location conflicts with the destination resource. This will occur
-	 * if the source is already under the destination.
-	 * 
-	 * @param sourcePath
-	 *            the path to check
-	 * @return <code>true</code> if there is a conflict, <code>false</code> if not
-	 */
-	protected boolean sourceConflictsWithDestination(IPath sourcePath) {
-
-		IContainer container = getSpecifiedContainer();
-		if (container == null)
-			return false;
-		return getSpecifiedContainer().getLocation().isPrefixOf(sourcePath);
-	}
-
-	protected IPath getResourcePath() {
-		return importedClassesPath;
-	}
-
-	//-------------------------------------------------------------------------------------
-
-	//makesure to call mainpage.cancel()
-	public boolean cancel() {
-		clearProviderCache();
-		return true;
-	}
-
-	/**
-	 * Clears the cached structure provider after first finalizing it properly.
-	 */
-	protected void clearProviderCache() {
-		if (providerCache != null) {
-			closeZipFile(providerCache.getZipFile());
-			providerCache = null;
-		}
-	}
-
-	/**
-	 * Attempts to close the passed zip file, and answers a boolean indicating success.
-	 */
-	protected boolean closeZipFile(ZipFile file) {
-		try {
-			file.close();
-		} catch (IOException e) {
-			//displayErrorDialog(DataTransferMessages.format("ZipImport.couldNotClose", new
-			// Object[] { file.getName()})); //$NON-NLS-1$
-			return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 * Answer a handle to the zip file currently specified as being the source. Return null if this
-	 * file does not exist or is not of valid format.
-	 */
-
-	protected ZipFile getSpecifiedSourceFile() {
-		return getSpecifiedSourceFile(sourceNameField.getText());
-	}
-
-	/**
-	 * Answer a handle to the zip file currently specified as being the source. Return null if this
-	 * file does not exist or is not of valid format.
-	 */
-
-	private ZipFile getSpecifiedSourceFile(String fileName) {
-		if (fileName.length() == 0)
-			return null;
-
-		try {
-			return new ZipFile(fileName);
-		} catch (ZipException e) {
-			//displayErrorDialog(DataTransferMessages.getString("ZipImport.badFormat"));
-			// //$NON-NLS-1$
-		} catch (IOException e) {
-			//displayErrorDialog(DataTransferMessages.getString("ZipImport.couldNotRead"));
-			// //$NON-NLS-1$
-		}
-
-		sourceNameField.setFocus();
-		return null;
-	}
-
-	/**
-	 * Returns a structure provider for the specified zip file.
-	 */
-	protected ZipFileStructureProvider getStructureProvider(ZipFile targetZip) {
-		if (providerCache == null)
-			providerCache = new ZipFileStructureProvider(targetZip);
-		else if (!providerCache.getZipFile().getName().equals(targetZip.getName())) {
-			clearProviderCache(); // ie.- new value, so finalize&remove old value
-			providerCache = new ZipFileStructureProvider(targetZip);
-		} else if (!providerCache.getZipFile().equals(targetZip))
-			closeZipFile(targetZip); // ie.- duplicate handle to same .zip
-
-		return providerCache;
-	}
-
-	/**
-	 * Open a FileDialog so that the user can specify the source file to import from
-	 */
-	protected void handleSourceBrowseButtonPressedForZip() {
-		String selectedFile = queryZipFileToImport();
-		if (selectedFile != null) {
-			if (!selectedFile.equals(sourceNameField.getText())) {
-				//Be sure it is valid before we go setting any names
-				ZipFile sourceFile = getSpecifiedSourceFile(selectedFile);
-				if (sourceFile != null) {
-					closeZipFile(sourceFile);
-					setSourceName(selectedFile);
-					selectionGroup.setFocus();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Import the resources with extensions as specified by the user
-	 */
-	protected boolean importResourcesFromZip(List fileSystemObjects) {
-
-		ZipFile zipFile = getSpecifiedSourceFile();
-		ZipFileStructureProvider structureProvider = getStructureProvider(zipFile);
-
-		boolean result = executeImportOperation(new ImportOperation(getContainerFullPath(), structureProvider.getRoot(), structureProvider, this, fileSystemObjects));
-
-		closeZipFile(zipFile);
-
-		return result;
-	}
-
-	/**
-	 * Opens a file selection dialog and returns a string representing the selected file, or
-	 * <code>null</code> if the dialog was canceled.
-	 */
-	protected String queryZipFileToImport() {
-		FileDialog dialog = new FileDialog(sourceNameField.getShell(), SWT.OPEN);
-		dialog.setFilterExtensions(new String[]{FILE_IMPORT_MASK});
-
-		String currentSourceString = sourceNameField.getText();
-		int lastSeparatorIndex = currentSourceString.lastIndexOf(File.separator);
-		if (lastSeparatorIndex != -1)
-			dialog.setFilterPath(currentSourceString.substring(0, lastSeparatorIndex));
-
-		return dialog.open();
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/earlibraries.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/earlibraries.properties
deleted file mode 100644
index b815ca6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/wizard/earlibraries.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-EARLibrariesContainerPage_0=EAR Libraries
-EARLibrariesContainerPage_1=The EAR Libraries classpath container dynamically computes the Java EE project's module classpath dependencies using the META-INF/MANIFEST.MF Class-Path entries.
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/archive/IArchiveExportParticipantPanelFactory.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/archive/IArchiveExportParticipantPanelFactory.java
deleted file mode 100644
index 5a89717..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/archive/IArchiveExportParticipantPanelFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005, 2007 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.ui.archive;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-/**
- * Used in conjunction with the <code>org.eclipse.jst.j2ee.ui.archiveExportParticipantPanels</code>
- * extension point in order to extend the UI of the base module archive export wizard.
- * 
- * @since 3.0
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public interface IArchiveExportParticipantPanelFactory
-{
-    /**
-     * Creates a composite containing the UI elements appropriate for the export participant
-     * that this panel factory is registered with.
-     * 
-     * @param parent the parent composite
-     * @param dataModel the data model of the export participant
-     * @return the created composite
-     */
-    
-    Composite createPanel( Composite parent,
-                           IDataModel dataModel );
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/archive/internal/ArchiveExportParticipantPanelsExtensionPoint.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/archive/internal/ArchiveExportParticipantPanelsExtensionPoint.java
deleted file mode 100644
index 38b1307..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/archive/internal/ArchiveExportParticipantPanelsExtensionPoint.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005, 2007 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.ui.archive.internal;
-
-import static org.eclipse.jst.j2ee.internal.archive.ArchiveExportParticipantsExtensionPoint.PluginUtil.findExtensions;
-import static org.eclipse.jst.j2ee.internal.archive.ArchiveExportParticipantsExtensionPoint.PluginUtil.findRequiredAttribute;
-import static org.eclipse.jst.j2ee.internal.archive.ArchiveExportParticipantsExtensionPoint.PluginUtil.getTopLevelElements;
-import static org.eclipse.jst.j2ee.internal.archive.ArchiveExportParticipantsExtensionPoint.PluginUtil.instantiate;
-import static org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin.PLUGIN_ID;
-import static org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin.log;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.jst.j2ee.internal.archive.ArchiveExportParticipantsExtensionPoint.PluginUtil.InvalidExtensionException;
-import org.eclipse.jst.j2ee.ui.archive.IArchiveExportParticipantPanelFactory;
-
-/**
- * Contains the logic for processing the <code>org.eclipse.jst.j2ee.ui.archiveExportParticipantPanels</code>
- * extension point. 
- * 
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class ArchiveExportParticipantPanelsExtensionPoint
-{
-    public static final String EXTENSION_POINT_ID = "archiveExportParticipantPanels"; //$NON-NLS-1$
-
-    private static final String EL_PANEL_FACTORY = "panel-factory"; //$NON-NLS-1$
-    private static final String ATTR_ARCHIVE_EXPORT_PARTICIPANT_ID = "archiveExportParticipantId"; //$NON-NLS-1$
-    private static final String ATTR_CLASS = "class"; //$NON-NLS-1$
-    
-    private static Map<String,PanelFactoryInfo> extensions = null;
-    
-    public static class PanelFactoryInfo
-    {
-        private String archiveExportParticipantId;
-        private String pluginId = null;
-        private String className = null;
-        
-        public String getArchiveExportExtensionId()
-        {
-            return this.archiveExportParticipantId;
-        }
-        
-        public IArchiveExportParticipantPanelFactory loadPanelFactory()
-        {
-            try
-            {
-                return instantiate( this.pluginId, this.className, 
-                                    IArchiveExportParticipantPanelFactory.class );
-            }
-            catch( CoreException e )
-            {
-                log( e.getStatus() );
-                return null;
-            }
-        }
-    }
-    
-    public static PanelFactoryInfo getExtension( final String archiveExportParticipantId )
-    {
-        readExtensions();
-        
-        return extensions.get( archiveExportParticipantId );
-    }
-                                                                             
-    private static synchronized void readExtensions()
-    {
-        if( extensions != null )
-        {
-            return;
-        }
-        
-        extensions = new HashMap<String,PanelFactoryInfo>();
-        
-        for( IConfigurationElement element 
-             : getTopLevelElements( findExtensions( PLUGIN_ID, EXTENSION_POINT_ID ) ) )
-        {
-            if( element.getName().equals( EL_PANEL_FACTORY ) )
-            {
-                try
-                {
-                    readExtension( element );
-                }
-                catch( InvalidExtensionException e )
-                {
-                    // Continue. The problem has been reported to the user via the log.
-                }
-            }
-        }
-    }
-
-    private static void readExtension( final IConfigurationElement config )
-    
-        throws InvalidExtensionException
-        
-    {
-        final PanelFactoryInfo ext = new PanelFactoryInfo();
-
-        ext.archiveExportParticipantId = findRequiredAttribute( config, ATTR_ARCHIVE_EXPORT_PARTICIPANT_ID );
-        ext.pluginId = config.getContributor().getName();
-        ext.className = findRequiredAttribute( config, ATTR_CLASS );
-        
-        extensions.put( ext.archiveExportParticipantId, ext );
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarFacetInstallPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarFacetInstallPage.java
deleted file mode 100644
index d26ede2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarFacetInstallPage.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005, 2006 BEA Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.internal.AvailableJ2EEComponentsForEARContentProvider;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
-import org.eclipse.jst.j2ee.internal.earcreation.DefaultJ2EEComponentCreationDataModelProvider;
-import org.eclipse.jst.j2ee.internal.earcreation.IDefaultJ2EEComponentCreationDataModelProperties;
-import org.eclipse.jst.j2ee.internal.earcreation.IEarFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.jst.j2ee.internal.wizard.DefaultJ2EEComponentCreationWizard;
-import org.eclipse.jst.j2ee.internal.wizard.J2EEComponentLabelProvider;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
-import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-import org.eclipse.wst.common.project.facet.core.internal.FacetedProjectWorkingCopy;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.web.ui.internal.wizards.DataModelFacetInstallPage;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public class EarFacetInstallPage extends DataModelFacetInstallPage implements IEarFacetInstallDataModelProperties {
-	
-	private Button selectAllButton;
-	private Button deselectAllButton;
-	private Button newModuleButton;
-	
-	private Label moduleProjectsLabel; 
-	private CheckboxTableViewer moduleProjectsViewer;
-	
-	private boolean ignoreCheckedState = false;
-	
-	private Label contentDirLabel;
-	private Text contentDir;
-
-	public EarFacetInstallPage() {
-		super("ear.facet.install.page"); //$NON-NLS-1$
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_COMPONENT_SECOND_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_COMPONENT_SECOND_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_WIZ_BANNER));
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{CONTENT_DIR, J2EE_PROJECTS_LIST};
-	}
-
-	protected Composite createTopLevelComposite(Composite parent) {
-		Composite modulesGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		modulesGroup.setLayout(layout);
-		setInfopopID(IJ2EEUIContextIds.NEW_EAR_ADD_MODULES_PAGE);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		modulesGroup.setLayoutData(gridData);
-		createModuleProjectOptions(modulesGroup);
-		createButtonsGroup(modulesGroup);
-		
-		final Composite composite = new Composite(modulesGroup, SWT.NONE);
-		composite.setLayout(new GridLayout(1, false));
-
-		this.contentDirLabel = new Label(composite, SWT.NONE);
-		this.contentDirLabel.setText(Resources.contentDirLabel);
-		this.contentDirLabel.setLayoutData(gdhfill());
-
-		this.contentDir = new Text(composite, SWT.BORDER);
-		this.contentDir.setLayoutData(gdhfill());
-		synchHelper.synchText(contentDir, CONTENT_DIR, null);
-	    Dialog.applyDialogFont(parent);
-		return modulesGroup;
-	}
-
-	protected int getJ2EEVersion() {
-		IProjectFacetVersion version = (IProjectFacetVersion)getDataModel().getProperty(FACET_VERSION);
-		return J2EEVersionUtil.convertVersionStringToInt(version.getVersionString());
-	}
-	
-	/**
-	 * @param modulesGroup
-	 */
-	private void createModuleProjectOptions(Composite modulesGroup) {
-		moduleProjectsLabel = new Label(modulesGroup, SWT.NONE);
-		moduleProjectsLabel.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.J2EE_MODULE_DEPENDENCIES_LABEL));
-		moduleProjectsLabel.setLayoutData(gdhfill());
-		
-		moduleProjectsViewer = CheckboxTableViewer.newCheckList(modulesGroup, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		GridData gData = new GridData(GridData.FILL_BOTH);
-		gData.widthHint = 200;
-		gData.heightHint = 80;
-		moduleProjectsViewer.getControl().setLayoutData(gData);
-		int j2eeVersion = getJ2EEVersion();
-		AvailableJ2EEComponentsForEARContentProvider provider = new AvailableJ2EEComponentsForEARContentProvider(null, j2eeVersion);
-		moduleProjectsViewer.setContentProvider(provider);
-		moduleProjectsViewer.setLabelProvider(new J2EEComponentLabelProvider());
-		setCheckedItemsFromModel();
-		
-		moduleProjectsViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				if (!ignoreCheckedState) {
-					getDataModel().setProperty(J2EE_PROJECTS_LIST, getCheckedJ2EEElementsAsList());
-					getDataModel().setProperty(JAVA_PROJECT_LIST, getCheckedJavaProjectsAsList());
-                }
-			}
-		});
-		TableLayout tableLayout = new TableLayout();
-		moduleProjectsViewer.getTable().setLayout(tableLayout);
-		moduleProjectsViewer.getTable().setHeaderVisible(false);
-		moduleProjectsViewer.getTable().setLinesVisible(false);
-		moduleProjectsViewer.setSorter(null);
-	}
-
-	/**
-	 *  
-	 */
-	private void setCheckedItemsFromModel() {
-		List components = (List) getDataModel().getProperty(J2EE_PROJECTS_LIST);
-		
-		TableItem [] items = moduleProjectsViewer.getTable().getItems();
-
-		List list = new ArrayList();
-		
-		for( int i=0; i< items.length; i++ ){
-			Object element = items[i].getData();
-			if( element instanceof IVirtualComponent){
-				IVirtualComponent comp = (IVirtualComponent)element;				
-				Iterator it = components.iterator();
-				while( it.hasNext() ){
-					IProject project = (IProject)it.next();
-					if( comp.getProject().getName().equals(project.getName()) ){
-						list.add(comp);
-					}					
-				}
-			}	
-		}
-		moduleProjectsViewer.setCheckedElements(list.toArray());		
-	}
-
-	private void refreshModules() {
-		moduleProjectsViewer.refresh();
-		setCheckedItemsFromModel();
-	}
-
-	protected List getCheckedJ2EEElementsAsList() {
-		Object[] elements = moduleProjectsViewer.getCheckedElements();
-		List list;
-		if (elements == null || elements.length == 0)
-			list = Collections.EMPTY_LIST;
-		else{
-			list = new ArrayList(); 
-			for( int i=0; i< elements.length; i++){
-				if( elements[i] instanceof IVirtualComponent ) {
-					list.add(((IVirtualComponent)elements[i]).getProject());
-				}
-			}
-		}	
-		return list;
-	}
-	
-	protected List getCheckedJavaProjectsAsList() {
-		Object[] elements = moduleProjectsViewer.getCheckedElements();
-		List list;
-		if (elements == null || elements.length == 0)
-			list = Collections.EMPTY_LIST;
-		else{
-			list = new ArrayList(); 
-			for( int i=0; i< elements.length; i++){
-				if( elements[i] instanceof IProject ) {
-					list.add(elements[i]);
-				}
-			}
-		}	
-		return list;
-	}
-	
-	
-	protected void createButtonsGroup(org.eclipse.swt.widgets.Composite parent) {
-		Composite buttonGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 4;
-		buttonGroup.setLayout(layout);
-		buttonGroup.setLayoutData(new GridData(GridData.FILL_BOTH));
-		selectAllButton = new Button(buttonGroup, SWT.PUSH);
-		selectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_PROJECT_MODULES_PG_SELECT));
-		selectAllButton.addListener(SWT.Selection, this);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.widthHint = SWT.DEFAULT;
-		selectAllButton.setLayoutData(gd);
-		deselectAllButton = new Button(buttonGroup, SWT.PUSH);
-		deselectAllButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_PROJECT_MODULES_PG_DESELECT));
-		deselectAllButton.addListener(SWT.Selection, this);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.widthHint = SWT.DEFAULT;
-		deselectAllButton.setLayoutData(gd);
-		newModuleButton = new Button(buttonGroup, SWT.PUSH);
-		newModuleButton.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_PROJECT_MODULES_PG_NEW));
-		newModuleButton.addListener(SWT.Selection, this);
-		gd = new GridData(GridData.GRAB_HORIZONTAL);
-		gd.minimumWidth = SWT.DEFAULT;
-		newModuleButton.setLayoutData(gd);
-	}
-
-	/**
-	 * @see org.eclipse.swt.widgets.Listener#handleEvent(Event)
-	 */
-	public void handleEvent(Event evt) {
-		if (evt.widget == selectAllButton)
-			handleSelectAllButtonPressed();
-		else if (evt.widget == deselectAllButton)
-			handleDeselectAllButtonPressed();
-		else if (evt.widget == newModuleButton)
-			handleNewModuleButtonPressed();
-		else
-			super.handleEvent(evt);
-	}
-
-	/**
-	 *  
-	 */
-	private void handleNewModuleButtonPressed() {
-		IDataModel aModel = createNewModuleModel();
-		DefaultJ2EEComponentCreationWizard wizard = new DefaultJ2EEComponentCreationWizard(aModel);
-		WizardDialog dialog = new WizardDialog(getShell(), wizard);
-		dialog.create();
-		if (dialog.open() != IDialogConstants.CANCEL_ID) {
-			IWorkspaceRoot input = ResourcesPlugin.getWorkspace().getRoot();
-			moduleProjectsViewer.setInput(input);
-            setNewModules(aModel);
-            refreshModules();
-		}
-	}
-    /**
-     * @param model
-     */
-    private void setNewModules(IDataModel defaultModel) {
-        List newComponents = new ArrayList();
-        collectNewComponents(defaultModel, newComponents);
-        List oldComponents = (List) getDataModel().getProperty(J2EE_PROJECTS_LIST);
-        newComponents.addAll(oldComponents);
-        getDataModel().setProperty(J2EE_PROJECTS_LIST, newComponents);
-    }
-    
-    private void collectNewComponents(IDataModel defaultModel, List newProjects) {
-        collectComponents(defaultModel.getNestedModel(IDefaultJ2EEComponentCreationDataModelProperties.NESTED_MODEL_EJB), newProjects);
-        collectComponents(defaultModel.getNestedModel(IDefaultJ2EEComponentCreationDataModelProperties.NESTED_MODEL_WEB), newProjects);
-        collectComponents(defaultModel.getNestedModel(IDefaultJ2EEComponentCreationDataModelProperties.NESTED_MODEL_CLIENT), newProjects);
-        collectComponents(defaultModel.getNestedModel(IDefaultJ2EEComponentCreationDataModelProperties.NESTED_MODEL_JCA), newProjects);
-    }
-    private void collectComponents(IDataModel compDM, List newProjects) {
-        if (compDM != null) {
-        	String projectName = compDM.getStringProperty(IFacetDataModelProperties.FACET_PROJECT_NAME);
-            if(projectName == null) return;
-            IProject project = ProjectUtilities.getProject(projectName);
-            if (project != null && project.exists())
-                newProjects.add(project);
-        }
-    }
-    
-	private IDataModel createNewModuleModel() {
-		IDataModel defaultModel = DataModelFactory.createDataModel(new DefaultJ2EEComponentCreationDataModelProvider());
-		// transfer properties, project name
-		String projectName = model.getStringProperty(FACET_PROJECT_NAME);
-		defaultModel.setProperty(IDefaultJ2EEComponentCreationDataModelProperties.PROJECT_NAME, projectName);
-		// ear component name
-		String earName = model.getStringProperty(FACET_PROJECT_NAME);
-		defaultModel.setProperty(IDefaultJ2EEComponentCreationDataModelProperties.EAR_COMPONENT_NAME, earName);
-		// ear j2ee version
-		int j2eeVersion = getJ2EEVersion();
-		defaultModel.setProperty(IDefaultJ2EEComponentCreationDataModelProperties.J2EE_VERSION, new Integer(j2eeVersion));
-		
-		FacetedProjectWorkingCopy fpwc = (FacetedProjectWorkingCopy)model.getProperty(FACETED_PROJECT_WORKING_COPY);
-		IRuntime rt = fpwc.getPrimaryRuntime();
-		defaultModel.setProperty(IDefaultJ2EEComponentCreationDataModelProperties.FACET_RUNTIME, rt);
-		
-		return defaultModel;
-	}
-
-	/**
-	 *  
-	 */
-	private void handleDeselectAllButtonPressed() {
-		ignoreCheckedState = true;
-		try {
-			moduleProjectsViewer.setAllChecked(false);
-			//getDataModel().setProperty(J2EE_COMPONENT_LIST, null);
-			//IDataModel nestedModel = (IDataModel)getDataModel().getProperty(NESTED_ADD_COMPONENT_TO_EAR_DM);	
-			//(nestedModel).setProperty(AddComponentToEnterpriseApplicationDataModelProvider., getCheckedJ2EEElementsAsList());
-			getDataModel().setProperty(J2EE_PROJECTS_LIST, null);
-			getDataModel().setProperty(JAVA_PROJECT_LIST, null);			
-		} finally {
-			ignoreCheckedState = false;
-		}
-	}
-
-	/**
-	 *  
-	 */
-	private void handleSelectAllButtonPressed() {
-		ignoreCheckedState = true;
-		try {
-			moduleProjectsViewer.setAllChecked(true);
-			//getDataModel().setProperty(J2EE_COMPONENT_LIST, getCheckedElementsAsList());
-			//IDataModel nestedModel = (IDataModel)getDataModel().getProperty(NESTED_ADD_COMPONENT_TO_EAR_DM);
-			//(nestedModel).setProperty(AddComponentToEnterpriseApplicationDataModelProvider., getCheckedJ2EEElementsAsList());
-			
-			getDataModel().setProperty(J2EE_PROJECTS_LIST, getCheckedJ2EEElementsAsList());
-			getDataModel().setProperty(JAVA_PROJECT_LIST, getCheckedJavaProjectsAsList());
-			
-		} finally {
-			ignoreCheckedState = false;
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.common.frameworks.internal.ui.wizard.J2EEWizardPage#enter()
-	 */
-	protected void enter() {
-		IWorkspaceRoot input = ResourcesPlugin.getWorkspace().getRoot();
-		moduleProjectsViewer.setInput(input);
-		super.enter();
-	}
-	
-	
-	private static final class Resources
-
-	extends NLS
-
-	{
-		public static String pageTitle;
-		public static String pageDescription;
-		public static String contentDirLabel;
-		public static String contentDirLabelInvalid;
-
-		static {
-			initializeMessages(EarFacetInstallPage.class.getName(), Resources.class);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarFacetInstallPage.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarFacetInstallPage.properties
deleted file mode 100644
index 4cd1fce..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarFacetInstallPage.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pageTitle = EAR Module
-pageDescription = Configure EAR module settings.
-contentDirLabel = Content Directory:
-contentDirLabelInvalid = Content Directory (invalid):
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarProjectFirstPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarProjectFirstPage.java
deleted file mode 100644
index db9f112..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarProjectFirstPage.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.web.ui.internal.wizards.DataModelFacetCreationWizardPage;
-
-public class EarProjectFirstPage extends DataModelFacetCreationWizardPage {
-
-	public EarProjectFirstPage(IDataModel dataModel, String pageName) {
-		super(dataModel, pageName);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_COMPONENT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_COMPONENT_MAIN_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.EAR_WIZ_BANNER));
-		setInfopopID(IJ2EEUIContextIds.NEW_EAR_WIZARD_P1);
-	}
-
-	protected IDialogSettings getDialogSettings() {
-		return J2EEUIPlugin.getDefault().getDialogSettings();
-	}
-	
-	protected String getModuleTypeID() {
-		return IModuleConstants.JST_EAR_MODULE;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarProjectWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarProjectWizard.java
deleted file mode 100644
index 1d44e9a..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarProjectWizard.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.project.facet.EARFacetProjectCreationDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.project.facet.IProductConstants;
-import org.eclipse.wst.project.facet.ProductManager;
-import org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard;
-import org.osgi.framework.Bundle;
-
-public class EarProjectWizard extends NewProjectDataModelFacetWizard {
-
-	public EarProjectWizard(IDataModel model){
-		super(model);
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_COMPONENT_WIZ_TITLE));
-	}
-	
-	public EarProjectWizard(){
-		super();
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.EAR_COMPONENT_WIZ_TITLE));
-	}
-	
-	protected IDataModel createDataModel() {
-		return DataModelFactory.createDataModel(new EARFacetProjectCreationDataModelProvider());
-	}
-
-	public void setRuntimeInDataModel(IRuntime runtime){
-		model.setProperty(FACET_RUNTIME, runtime);
-	}
-	
-	protected ImageDescriptor getDefaultPageImageDescriptor() {
-		final Bundle bundle = Platform.getBundle("org.eclipse.jst.j2ee.ui");
-		final URL url = bundle.getEntry("icons/ear-wiz-banner.gif");
-
-		return ImageDescriptor.createFromURL(url);
-	}
-
-	protected IFacetedProjectTemplate getTemplate() {
-		return ProjectFacetsManager.getTemplate("template.jst.ear");
-	}
-
-	protected IWizardPage createFirstPage() {
-		return new EarProjectFirstPage(model, "first.page"); //$NON-NLS-1$ 
-	}
-	
-	protected String getFinalPerspectiveID() {
-        return ProductManager.getProperty(IProductConstants.FINAL_PERSPECTIVE_EAR);
-	}
-
-	public void setEARName( String earName ){
-		model.setProperty(FACET_PROJECT_NAME, earName);	
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarSelectionPanel.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarSelectionPanel.java
deleted file mode 100644
index f1ae976..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarSelectionPanel.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005, 2006 BEA Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- *    David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jst.j2ee.project.facet.J2EEModuleFacetInstallDataModelProvider;
-import org.eclipse.jst.j2ee.web.project.facet.IWebFacetInstallDataModelProperties;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class EarSelectionPanel implements IWebFacetInstallDataModelProperties
-    
-{
-    private final Button addToEar;
-    private final Combo combo;
-    private final Button newButton;
-    private final Label label;
-   
-    private final IDataModel model;
-    private DataModelSynchHelper synchhelper;
-    
-    public EarSelectionPanel( final IDataModel model, final Composite parent) 
-    {
-        this.model = model;
-        this.synchhelper = new DataModelSynchHelper(model);
-        
-        final Group group = new Group( parent, SWT.NONE );
-        group.setLayoutData( gdhfill() );
-        group.setLayout( new GridLayout( 3, false ) );
-        group.setText( Resources.earMemberShip );
-        
-        this.addToEar = new Button( group, SWT.CHECK );
-        this.addToEar.setText( Resources.addToEarLabel );
-        this.addToEar.setLayoutData( gdhspan( new GridData(), 3 ) );
-        synchhelper.synchCheckbox(addToEar, ADD_TO_EAR, null);
-
-        label = new Label(group, SWT.NULL);
-        label.setText(Resources.earProjectLabel);
-        this.combo = new Combo(group, SWT.NONE);
-        this.combo.setLayoutData( gdhfill() );
-        
-        this.newButton = new Button( group, SWT.PUSH );
-        this.newButton.setText( Resources.newButtonLabel );
-        
-        this.newButton.addSelectionListener( new SelectionAdapter()
-        {
-            public void widgetSelected( final SelectionEvent event )
-            {
-                handleAddButton();
-            }
-        } );
-        
-        synchhelper.synchCombo(combo, EAR_PROJECT_NAME, new Control[]{label, newButton});
-        Dialog.applyDialogFont(parent);
-    }
-
-    private void handleAddButton()
-    {
-        final EarProjectWizard wizard = new EarProjectWizard();
-        
-        final WizardDialog dialog 
-            = new WizardDialog( newButton.getShell(), wizard );
-        
-        IRuntime runtime = (IRuntime)model.getProperty(FACET_RUNTIME);
-        String earName = model.getStringProperty( J2EEModuleFacetInstallDataModelProvider.EAR_PROJECT_NAME );
-    	wizard.setRuntimeInDataModel(runtime);
-    	wizard.setEARName( earName );
-        if( dialog.open() != SWT.CANCEL )
-        {
-            model.notifyPropertyChange(EAR_PROJECT_NAME, IDataModel.VALID_VALUES_CHG);
-            final String earproj = wizard.getProjectName();
-            model.setProperty(EAR_PROJECT_NAME, earproj);
-        }
-    }
-    
-    private static GridData gdhfill()
-    {
-        return new GridData( GridData.FILL_HORIZONTAL );
-    }
-
-    public static final GridData gdhspan( final GridData gd,
-                                          final int span )
-    {
-        gd.horizontalSpan = span;
-        return gd;
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String addToEarLabel;
-        public static String newButtonLabel;
-        public static String earProjectLabel;
-        public static String earMemberShip;
-        
-        static
-        {
-            initializeMessages( EarSelectionPanel.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-    public void dispose() {
-    	if(synchhelper != null){
-    		synchhelper.dispose();
-    		synchhelper = null;
-    	}
-    }
-    
-    public String getComboText(){
-    	return combo.getText();
-    }    
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarSelectionPanel.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarSelectionPanel.properties
deleted file mode 100644
index 1572e59..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/EarSelectionPanel.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-addToEarLabel = Add project to an EAR
-newButtonLabel = New...
-earProjectLabel=EAR Project Name:
-earMemberShip=EAR Membership
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/RuntimeMismatchMarkerResolutions.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/RuntimeMismatchMarkerResolutions.java
deleted file mode 100644
index cf3d262..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/RuntimeMismatchMarkerResolutions.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005-2007 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public final class RuntimeMismatchMarkerResolutions
-
-    implements IMarkerResolutionGenerator
-    
-{
-    private static final String ATTR_RUNTIME1 = "runtime1"; //$NON-NLS-1$
-    private static final String ATTR_RUNTIME2 = "runtime2"; //$NON-NLS-1$
-    private static final String ATTR_MODULE_PROJECT = "moduleProject"; //$NON-NLS-1$
-    
-    public IMarkerResolution[] getResolutions( final IMarker marker )
-    {
-        final List resolutions = new ArrayList( 2 );
-        
-        try
-        {
-            final IProject earProject = marker.getResource().getProject();
-            final IFacetedProject earFacetedProject = ProjectFacetsManager.create( earProject );
-            final IProject modProject = getModuleProject( marker );
-            final IFacetedProject modFacetedProject = ProjectFacetsManager.create( modProject );
-            
-            for( Iterator itr = getRuntimes( marker ).iterator(); itr.hasNext(); )
-            {
-                final IRuntime runtime = (IRuntime) itr.next();
-                
-                if( earFacetedProject.isTargetable( runtime ) && 
-                    modFacetedProject.isTargetable( runtime ) )
-                {
-                    final Resolution resolution
-                        = new Resolution( earFacetedProject, modFacetedProject, runtime );
-                    
-                    resolutions.add( resolution );
-                }
-            }
-        }
-        catch( CoreException e )
-        {
-            J2EEUIPlugin.logError( -1, null, e );
-        }
-        
-        IMarkerResolution[] array = new IMarkerResolution[ resolutions.size() ];
-        resolutions.toArray( array );
-        
-        return array;
-    }
-    
-    private static IProject getModuleProject( final IMarker marker )
-    {
-        final IWorkspace ws = ResourcesPlugin.getWorkspace();
-        final String moduleProjectName = marker.getAttribute( ATTR_MODULE_PROJECT, null );
-        return ws.getRoot().getProject( moduleProjectName );
-    }
-    
-    private static List getRuntimes( final IMarker marker )
-    {
-        final List runtimes = new ArrayList();
-        
-        IRuntime r = getRuntimeByName( marker.getAttribute( ATTR_RUNTIME1, null ) );
-        if( r != null ) runtimes.add( r );
-        
-        r = getRuntimeByName( marker.getAttribute( ATTR_RUNTIME2, null ) );
-        if( r != null ) runtimes.add( r );
-        
-        return runtimes;
-    }
-    
-    private static IRuntime getRuntimeByName( final String name )
-    {
-        if( RuntimeManager.isRuntimeDefined( name ) )
-        {
-            return RuntimeManager.getRuntime( name );
-        }
-        else
-        {
-            return null;
-        }
-    }
-    
-    private static final class Resolution
-    
-        implements IMarkerResolution
-        
-    {
-        private final IFacetedProject earProject;
-        private final IFacetedProject moduleProject;
-        private final IRuntime runtime;
-        
-        public Resolution( final IFacetedProject earProject,
-                           final IFacetedProject moduleProject,
-                           final IRuntime runtime )
-        {
-            this.earProject = earProject;
-            this.moduleProject = moduleProject;
-            this.runtime = runtime;
-        }
-        
-        public String getLabel()
-        {
-            return NLS.bind( Resources.useSameRuntime, this.runtime.getLocalizedName() );
-        }
-
-        public void run( final IMarker marker )
-        {
-            try
-            {
-                setRuntime( this.earProject, this.runtime );
-                setRuntime( this.moduleProject, this.runtime );
-            }
-            catch( CoreException e )
-            {
-                ErrorDialog.openError( null, Resources.errorDialogTitle,
-                                       Resources.errorDialogMessage, e.getStatus() );
-            }
-        }
-        
-        private void setRuntime( final IFacetedProject fproj,
-                                 final IRuntime runtime )
-        
-            throws CoreException
-            
-        {
-            final IRuntime currentPrimaryRuntime = fproj.getPrimaryRuntime();
-            
-            if( currentPrimaryRuntime != null && 
-                ! currentPrimaryRuntime.getName().equals( runtime.getName() ) )
-            {
-                if( ! fproj.isTargeted( runtime ) )
-                {
-                    fproj.addTargetedRuntime( runtime, null );
-                }
-                
-                fproj.setPrimaryRuntime( runtime, null );
-            }
-        }
-    }
-    
-    private static final class Resources
-    
-        extends NLS
-        
-    {
-        public static String useSameRuntime;
-        public static String errorDialogTitle;
-        public static String errorDialogMessage;
-        
-        static
-        {
-            initializeMessages( RuntimeMismatchMarkerResolutions.class.getName(), 
-                                Resources.class );
-        }
-    }
-    
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/RuntimeMismatchMarkerResolutions.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/RuntimeMismatchMarkerResolutions.properties
deleted file mode 100644
index f8b03d6..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/RuntimeMismatchMarkerResolutions.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-useSameRuntime = Switch both projects to {0}
-errorDialogTitle = Error
-errorDialogMessage = Failed while applying the quick fix.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityFacetInstallPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityFacetInstallPage.java
deleted file mode 100644
index 32fa6b8..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityFacetInstallPage.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.wizard.J2EEModuleFacetInstallPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-public final class UtilityFacetInstallPage extends J2EEModuleFacetInstallPage {
-	public UtilityFacetInstallPage() {
-		super("utility.facet.install.page"); //$NON-NLS-1$
-		setTitle(Resources.pageTitle);
-		setDescription(Resources.pageDescription);
-	}
-
-	private static final class Resources extends NLS {
-		public static String pageTitle;
-		public static String pageDescription;
-
-		static {
-			initializeMessages(UtilityFacetInstallPage.class.getName(), Resources.class);
-		}
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{EAR_PROJECT_NAME};
-	}
-
-	protected Composite createTopLevelComposite(Composite parent) {
-		final Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout(1, false));
-		setInfopopID(IJ2EEUIContextIds.NEW_UTILITY_WIZARD_P3);
-		//setupEarControl(composite);
-		return composite;
-	}
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityFacetInstallPage.properties b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityFacetInstallPage.properties
deleted file mode 100644
index 0a6de07..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityFacetInstallPage.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pageTitle = Utility Module
-pageDescription = Configure utility module settings.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityProjectFirstPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityProjectFirstPage.java
deleted file mode 100644
index 52d0bff..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityProjectFirstPage.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.internal.wizard.J2EEComponentFacetCreationWizardPage;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class UtilityProjectFirstPage extends J2EEComponentFacetCreationWizardPage {
-
-	public UtilityProjectFirstPage(IDataModel dataModel, String pageName) {
-		super(dataModel, pageName);
-		setTitle(Resources.pageTitle);
-		setDescription(Resources.pageDescription);
-		setInfopopID(IJ2EEUIContextIds.NEW_UTILITY_WIZARD_P1);
-	}
-
-	private static final class Resources extends NLS {
-		public static String pageTitle;
-		public static String pageDescription;
-
-		static {
-			initializeMessages(UtilityFacetInstallPage.class.getName(), Resources.class);
-		}
-	}
-
-	protected String getModuleFacetID() {
-		return J2EEProjectUtilities.UTILITY;
-	}
-	
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityProjectWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityProjectWizard.java
deleted file mode 100644
index 5ab42cd..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/UtilityProjectWizard.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.j2ee.ui.project.facet;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.project.facet.UtilityProjectCreationDataModelProvider;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.project.facet.IProductConstants;
-import org.eclipse.wst.project.facet.ProductManager;
-import org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard;
-import org.osgi.framework.Bundle;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public class UtilityProjectWizard extends NewProjectDataModelFacetWizard {
-
-	public UtilityProjectWizard(IDataModel model) {
-		super(model);
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.JAVAUTIL_COMPONENT_WIZ_TITLE));
-	}
-	
-	public UtilityProjectWizard(){
-		super();
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.JAVAUTIL_COMPONENT_WIZ_TITLE));
-	}
-
-	protected IDataModel createDataModel() {
-		return DataModelFactory.createDataModel(new UtilityProjectCreationDataModelProvider());
-	}
-
-	protected ImageDescriptor getDefaultPageImageDescriptor() {
-		final Bundle bundle = Platform.getBundle("org.eclipse.jst.j2ee.ui");
-		final URL url = bundle.getEntry("icons/util-wiz-banner.gif");
-		return ImageDescriptor.createFromURL(url);
-	}
-
-	protected IFacetedProjectTemplate getTemplate() {
-		return ProjectFacetsManager.getTemplate("template.jst.utility");
-	}
-
-	protected IWizardPage createFirstPage() {
-		return new UtilityProjectFirstPage(model, "first.page"); //$NON-NLS-1$ 
-	}
-	
-	protected String getFinalPerspectiveID() {
-        return ProductManager.getProperty(IProductConstants.FINAL_PERSPECTIVE_UTILITY);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientFacetInstallPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientFacetInstallPage.java
deleted file mode 100644
index 3c3e4d2..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientFacetInstallPage.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     David Schneider, david.schneider@unisys.com - [142500] WTP properties pages fonts don't follow Eclipse preferences
- *******************************************************************************/
-package org.eclipse.jst.j2ee.ui.project.facet.appclient;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.wizard.J2EEModuleFacetInstallPage;
-import org.eclipse.jst.j2ee.project.facet.IAppClientFacetInstallDataModelProperties;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
-
-public class AppClientFacetInstallPage extends J2EEModuleFacetInstallPage implements IAppClientFacetInstallDataModelProperties {
-
-	private Label configFolderLabel;
-	private Text configFolder;
-	private Button createMainClass;
-	
-	public AppClientFacetInstallPage() {
-		super("appclient.facet.install.page"); //$NON-NLS-1$
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_PROJECT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_SETTINGS));
-	}
-
-	protected String[] getValidationPropertyNames() {
-		return new String[]{EAR_PROJECT_NAME, CONFIG_FOLDER, CREATE_DEFAULT_MAIN_CLASS};
-	}
-
-	protected Composite createTopLevelComposite(Composite parent) {
-		setInfopopID(IJ2EEUIContextIds.NEW_APPCLIENT_WIZARD_P3);
-		final Composite composite = new Composite(parent, SWT.NONE);
-		composite.setLayout(new GridLayout(1, false));
-
-		configFolderLabel = new Label(composite, SWT.NONE);
-		configFolderLabel.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.SOURCEFOLDER));
-		configFolderLabel.setLayoutData(gdhfill());
-
-		configFolder = new Text(composite, SWT.BORDER);
-		configFolder.setLayoutData(gdhfill());
-		configFolder.setData("label", configFolderLabel); //$NON-NLS-1$
-		synchHelper.synchText(configFolder, CONFIG_FOLDER, null);
-		
-		createMainClass = new Button(composite, SWT.CHECK);
-		createMainClass.setText(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_CREATE_MAIN));
-		synchHelper.synchCheckbox(createMainClass, CREATE_DEFAULT_MAIN_CLASS, null);
-		
-        createGenerateDescriptorControl( composite );
-        registerFacetVersionChangeListener();
-        
-	    Dialog.applyDialogFont(parent);
-		return composite;
-	}
-	
-    protected void handleFacetVersionChangedEvent()
-    {
-        final IProjectFacetVersion fv = (IProjectFacetVersion) this.model.getProperty( FACET_VERSION );
-        this.addDD.setVisible( fv == APPLICATION_CLIENT_50 );
-    }
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientProjectFirstPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientProjectFirstPage.java
deleted file mode 100644
index 5375bd9..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientProjectFirstPage.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.ui.project.facet.appclient;
-
-import org.eclipse.jst.j2ee.internal.actions.IJ2EEUIContextIds;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPluginIcons;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.internal.wizard.J2EEComponentFacetCreationWizardPage;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-
-public class AppClientProjectFirstPage extends J2EEComponentFacetCreationWizardPage {
-
-	public AppClientProjectFirstPage(IDataModel dataModel, String pageName) {
-		super(dataModel, pageName);
-		setTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_PROJECT_MAIN_PG_TITLE));
-		setDescription(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_PROJECT_MAIN_PG_DESC));
-		setImageDescriptor(J2EEUIPlugin.getDefault().getImageDescriptor(J2EEUIPluginIcons.APP_CLIENT_PROJECT_WIZARD_BANNER));
-		setInfopopID(IJ2EEUIContextIds.NEW_APPCLIENT_WIZARD_P1);
-	}
-
-	protected String getModuleFacetID() {
-		return J2EEProjectUtilities.APPLICATION_CLIENT;
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientProjectWizard.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientProjectWizard.java
deleted file mode 100644
index cd2fa74..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/ui/project/facet/appclient/AppClientProjectWizard.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.ui.project.facet.appclient;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jst.j2ee.applicationclient.internal.creation.AppClientFacetProjectCreationDataModelProvider;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIMessages;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEUIPlugin;
-import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
-import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProjectTemplate;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
-import org.eclipse.wst.project.facet.IProductConstants;
-import org.eclipse.wst.project.facet.ProductManager;
-import org.eclipse.wst.web.ui.internal.wizards.NewProjectDataModelFacetWizard;
-import org.osgi.framework.Bundle;
-
-public class AppClientProjectWizard extends NewProjectDataModelFacetWizard {
-
-	public AppClientProjectWizard(IDataModel model) {
-		super(model);
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_PROJECT_WIZ_TITLE));
-	}
-
-	public AppClientProjectWizard() {
-		super();
-		setWindowTitle(J2EEUIMessages.getResourceString(J2EEUIMessages.APP_CLIENT_PROJECT_WIZ_TITLE));
-	}
-
-	protected IDataModel createDataModel() {
-		return DataModelFactory.createDataModel(new AppClientFacetProjectCreationDataModelProvider());
-	}
-
-	protected ImageDescriptor getDefaultPageImageDescriptor() {
-		final Bundle bundle = Platform.getBundle(J2EEUIPlugin.PLUGIN_ID);
-		final URL url = bundle.getEntry("icons/full/wizban/appclient_wiz.gif"); //$NON-NLS-1$
-		return ImageDescriptor.createFromURL(url);
-	}
-
-	protected IFacetedProjectTemplate getTemplate() {
-		return ProjectFacetsManager.getTemplate("template.jst.appclient"); //$NON-NLS-1$
-	}
-
-	protected IWizardPage createFirstPage() {
-		return new AppClientProjectFirstPage(model, "first.page"); //$NON-NLS-1$
-	}
-	
-	protected String getFinalPerspectiveID() {
-        return ProductManager.getProperty(IProductConstants.FINAL_PERSPECTIVE_APPCLIENT);
-	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee.ui/javadoc.xml b/plugins/org.eclipse.jst.j2ee.ui/javadoc.xml
deleted file mode 100644
index 633a03e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/javadoc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project default="javadoc">
-    <target name="javadoc">
-        <javadoc access="protected" author="false" classpath="../org.eclipse.jst.j2ee.web/bin;../org.eclipse.jst.common.frameworks/bin;../org.eclipse.jst.common.navigator.java/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.osgi_3.1.0\core.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.common.uriresolver_1.0.0\uriresolver.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.edit.ui_2.1.0\runtime\edit.ui.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.wsdl_1.0.0\wsdl.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.ui.editors_3.1.0\editors.jar;D:\Development\targets\wtp_target\eclipse\plugins\com.ibm.wtp.common.util_1.0.1\util.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.ecore.edit_2.1.0\runtime\ecore.edit.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.xml.uriresolver_1.0.0\xmlcatalog.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.ui.workbench_3.1.0\workbench.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.core.runtime.compatibility_3.0.0\compatibility.jar;D:\Development\targets\wtp_target\eclipse\plugins\com.ibm.wtp.emf.workbench_1.0.1.1\emfworkbench.jar;../org.eclipse.jst.j2ee.jca.ui/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.edit_2.1.0\runtime\edit.jar;../org.eclipse.wst.common.emfworkbench.integration/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jem.workbench_1.0.1.1\workbench.jar;../org.eclipse.wst.validation/bin;../org.eclipse.wst.web/bin;../org.eclipse.jst.ejb.ui/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jdt.core_3.1.0\jdtcore.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.osgi_3.1.0\osgi.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.common.ui_2.0.1\runtime\common.ui.jar;../org.eclipse.jst.common.annotations.controller/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.codegen_2.1.0\runtime\codegen.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.ui.ide_3.1.0\ide.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jdt.ui_3.1.0\jdt.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jem_1.0.1\javainst.jar;../org.eclipse.jst.j2ee.ejb/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.osgi_3.1.0\defaultAdaptor.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.swt.win32_3.1.0\ws\win32\swt.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.osgi_3.1.0\resolver.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.wsdl_1.0.0\jars\wsdl4j.jar;../org.eclipse.jst.j2ee.jca/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.xsd_2.1.0\runtime\xsd.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jface.text_3.1.0\jfacetext.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.ui.workbench.texteditor_3.1.0\texteditor.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.ui.views_3.1.0\views.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.core.resources_3.1.0\resources.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.common.contentmodel_1.0.0\contentmodel.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.text_3.1.0\text.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.ws.parser_1.0.0\parser.jar;../org.eclipse.jst.j2ee/bin;../org.eclipse.jst.common.annotations.core/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.osgi_3.1.0\eclipseAdaptor.jar;../org.eclipse.jst.j2ee.core/runtime/j2ee.jar;../org.eclipse.wst.sse.core/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.core.filebuffers_3.1.0\filebuffers.jar;../org.eclipse.wst.common.navigator.workbench/bin;../org.eclipse.wst.common.migration/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.webbrowser_1.0.0\webbrowser.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jem_1.0.1\mofjava.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.server.core_3.0.0\servercore.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.common_2.1.0\runtime\common.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.server.ui_3.0.0\serverui.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jdt.launching_3.1.0\launching.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.wsdl_1.0.0\jars\qname.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.ui_3.1.0\ui.jar;../org.eclipse.wst.common.frameworks/bin;../org.eclipse.jst.j2ee.core/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.codegen.ecore_2.1.0\runtime\codegen.ecore.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.ltk.core.refactoring_3.1.0\refcore.jar;../org.eclipse.jst.servlet.ui/bin;bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.core.runtime_3.1.0\runtime.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.osgi_3.1.0\console.jar;../org.eclipse.wst.common.emf/bin;../org.eclipse.wst.common.navigator.views/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.update.configurator_3.0.0\configurator.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.ecore.xmi_2.1.0\runtime\ecore.xmi.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jface_3.1.0\jface.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.emf.ecore_2.1.0\runtime\ecore.jar;../org.eclipse.wst.common.frameworks.ui/bin;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.jst.server.core_3.0.0\sjavacore.jar;D:\Development\targets\wtp_target\eclipse\plugins\org.eclipse.wst.common.encoding_1.0.0\encodingresource.jar" destdir="D:\Development\wtp_api_docs" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" packagenames="org.eclipse.jst.j2ee.jca.ui,org.eclipse.jst.servlet.ui,org.eclipse.jst.j2ee.ui,org.eclipse.jst.ejb.ui" sourcepath="j2ee_ui;../org.eclipse.jst.ejb.ui/property_files;../org.eclipse.jst.servlet.ui/property_files;property_files;../org.eclipse.jst.servlet.ui/servlet_ui;../org.eclipse.jst.ejb.ui/ejb_ui;../org.eclipse.jst.j2ee.jca.ui/property_files;../org.eclipse.jst.j2ee.jca.ui/jca_ui" splitindex="true" use="true" version="true"/>
-    </target>
-</project>
diff --git a/plugins/org.eclipse.jst.j2ee.ui/plugin.properties b/plugins/org.eclipse.jst.j2ee.ui/plugin.properties
deleted file mode 100644
index 8838828..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/plugin.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-j2ee=Java EE
-client.jar.file_ui_=App Client JAR file
-client.import.description_ui_=Import an external Application Client JAR file into an Application Client project
-client.export.description_ui_=Export an Application Client project into an Application Client JAR file
-ear.file_ui_=EAR file
-ear.import.description_ui_=Import an external EAR file into an Enterprise Application project
-
-ear.export.description_ui_=Export an Enterprise Application project into an EAR file
-j2ee.category_ui_=Java EE
-j2ee.actions.description_ui_=Actions for Java EE Development
-create.enterprise.application_ui_=Create an Enterprise Application
-create.client.module_ui_=Create an Application Client project
-ejb.export.action.description_ui_=Export EJB JAR File...
-utility_jar_import_wizard=J2EE Utility Jar
-ear_component_ui_=Enterprise Application Project
-new.ear.component.description_ui_=Create a Java EE EAR project
-appclient_component_ui_=Application Client Project
-new.appclient.component.description_ui_=Create a Java EE application client project
-J2EEDependenciesPage.name = Java EE Module Dependencies
-util-project-wizard-name = Utility Project
-util-project-wizard-description = Create a Utility project
-utility.import.description_ui_=Import one or more external *.jar files as Java EE Utility Projects or *.jars.
-Web_Project_Settings=Web Project Settings
-update-ear-libraries=Update EAR Libraries
-update-ear-libraries-tooltip=Recompute the contents of the EAR Libraries classpath container.
-earLibrariesContainerName=EAR Libraries
-
-Bundle-Name.0 = WTP J2EE UI Plug-in
-Bundle-Vendor.0 = Eclipse.org
-javaee.ui.popupMenu=Java EE Tools
diff --git a/plugins/org.eclipse.jst.j2ee.ui/plugin.xml b/plugins/org.eclipse.jst.j2ee.ui/plugin.xml
deleted file mode 100644
index efe83ba..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/plugin.xml
+++ /dev/null
@@ -1,790 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   
-   <extension-point 
-     id="archiveExportParticipantPanels" 
-     name="Archive Export Participant Panels Extension Point" 
-     schema="schema/archiveExportParticipantPanels.exsd"/>
-
-<!--================================-->
-<!-- Project Wizard Contributions   -->
-<!--================================-->
-   <extension
-         id="J2EEUIProjectWizards"
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%j2ee.category_ui_"
-            id="org.eclipse.jst.j2ee.internal">
-      </category>
-<!-- Flexible Project Wizard 
-      <wizard
-            name="%flexible.project_ui_"
-            icon="icons/full/ctool16/newear_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jst.j2ee.internal.wizard.FlexibleProjectCreationWizard"
-            project="true"
-            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
-            id="org.eclipse.jst.j2ee.ui.FlexibleProjectCreationWizard"
-            >
-         <description>
-            %new.flexible.project.description_ui_
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>-->
-<!-- EAR Component Wizard -->
-      <wizard
-            name="%ear_component_ui_"
-            icon="icons/full/ctool16/newear_wiz.gif"
-            category="org.eclipse.jst.j2ee.internal"
-            project="true"
-            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
-            id="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard">
-         <class class="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard">
-            <parameter name="javaeeproject" value="true" />
-            <parameter name="menuIndex" value="30" />
-         </class>
-         <description>
-            %new.ear.component.description_ui_
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource" />
-      </wizard>
-<!-- Application Client Component Wizard -->
-      <wizard
-            name="%appclient_component_ui_"
-            icon="icons/full/ctool16/newappclient_wiz.gif"
-            category="org.eclipse.jst.j2ee.internal"
-            project="true"
-            finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
-            id="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard">
-         <class class="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard">
-            <parameter name="javaeeproject" value="true"/>
-            <parameter name="menuIndex" value="40" />
-         </class>
-         <description>
-            %new.appclient.component.description_ui_
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource" />
-      </wizard>
-<!-- Utility Component Wizard -->
-      <wizard
-      		name="%util-project-wizard-name"
-      		icon="icons/util-wiz-icon.gif"
-      		category="org.eclipse.jst.j2ee.internal"
-      		project="true"
-      		finalPerspective="org.eclipse.jst.j2ee.J2EEPerspective"
-      		id="org.eclipse.jst.j2ee.ui.project.facet.UtilityProjectWizard">
-      <class class="org.eclipse.jst.j2ee.ui.project.facet.UtilityProjectWizard">
-         <parameter name="javaeeproject" value="true"/>
-         <parameter name="menuIndex" value="60" />
-      </class>
-      <description>
-      	%util-project-wizard-description
-      </description>
-         <selection
-               class="org.eclipse.core.resources.IResource" />
-    </wizard>
-      
-   </extension>
-  
-<!--================================-->
-<!-- Import Wizard Contributions    -->
-<!--================================-->
-   <extension
-         point="org.eclipse.ui.importWizards">
-      <wizard
-            category="org.eclipse.jst.j2ee.internal"
-            class="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard"
-            icon="icons/full/ctool16/appclient_import_wiz.gif"
-            id="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentImportWizard"
-            name="%client.jar.file_ui_">
-         <description>
-            %client.import.description_ui_
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-       <wizard
-             category="org.eclipse.jst.j2ee.internal"
-             class="org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard"
-             icon="icons/full/ctool16/import_ear.gif"
-             id="org.eclipse.jst.j2ee.internal.wizard.EARComponentImportWizard"
-             name="%ear.file_ui_">
-         <description>
-            %ear.import.description_ui_
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-       <wizard
-             category="org.eclipse.jst.j2ee.internal"
-             class="org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportWizardNew"
-             icon="icons/util-wiz-icon.gif"
-             id="org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportWizardNew"
-             name="%utility_jar_import_wizard">
-          <description>
-          	%utility.import.description_ui_
-          </description>
-          <selection class="org.eclipse.core.resources.IResource"/>
-       </wizard>
-       <category
-             id="org.eclipse.jst.j2ee.internal"
-             name="%j2ee.category_ui_"/> 
-       </extension>
-     
-   <!--   <wizard
-            class="org.eclipse.jst.j2ee.internal.wizard.J2EEUtilityJarImportWizard"
-            icon="icons/jar_obj.gif"
-            name="%utility_jar_import_wizard"
-            id="org.eclipse.jst.j2ee.ui.J2EEUtilityJarImportWizard">
-            <selection
-               class="org.eclipse.core.resources.IResource">
-	        </selection>
-	  </wizard>     
-	   <wizard
-            name="%Import_Classes"
-            icon=""
-            class="org.eclipse.jst.j2ee.internal.wizard.ClassesImportWizard"
-            id="org.eclipse.jst.j2ee.internal.wizard.ClassesImportWizard">
-         
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>             
-   </extension> -->
-<!--================================-->
-<!-- Export Wizard Contributions    -->
-<!--================================-->
-   <extension
-         point="org.eclipse.ui.exportWizards">
-      <wizard
-            category="org.eclipse.jst.j2ee.internal"
-            class="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentExportWizard"
-            icon="icons/full/ctool16/appclient_export.gif"
-            id="org.eclipse.jst.j2ee.internal.wizard.AppClientComponentExportWizard"
-            name="%client.jar.file_ui_">
-         <description>
-            %client.export.description_ui_
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-      <wizard
-            category="org.eclipse.jst.j2ee.internal"
-            class="org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard"
-            icon="icons/full/ctool16/export_ear.gif"
-            id="org.eclipse.jst.j2ee.internal.wizard.EARComponentExportWizard"
-            name="%ear.file_ui_">
-         <description>
-            %ear.export.description_ui_
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-      <category
-            id="org.eclipse.jst.j2ee.internal"
-            name="%j2ee.category_ui_"/>
-   </extension>
-<!-- ====================================================== -->
-<!-- Extension point: org.eclipse.ui.projectNatureImages    -->
-<!-- Purpose: Attach icon overlays for J2EE project natures -->
-<!-- ====================================================== -->
-   <extension
-         point="org.eclipse.ui.ide.projectNatureImages">
-      <image
-            icon="icons/full/ovr16/ejb_module_ovr.gif"
-            natureId="org.eclipse.jst.j2ee.ejb.EJBNature"
-            id="org.eclipse.ui.ejbProjectNatureImage">
-      </image>
-      <image
-            icon="icons/full/ovr16/enterprise_app_ovr.gif"
-            natureId="org.eclipse.jst.j2ee.EARNature"
-            id="org.eclipse.ui.earProjectNatureImage">
-      </image>
-      <image
-            icon="icons/full/ovr16/client_app_ovr.gif"
-            natureId="org.eclipse.jst.j2ee.ApplicationClientNature"
-            id="org.eclipse.ui.appClientModProjectNatureImage">
-      </image>
-      <image
-            icon="icons/full/ovr16/connector_ovr.gif"
-            natureId="org.eclipse.jst.j2ee.jca.ConnectorNature"
-            id="org.eclipse.ui.ConnectorModProjectNatureImage">
-      </image>
-      <image
-            icon="icons/full/ovr16/web_module_ovr.gif"
-            natureId="org.eclipse.jst.j2ee.web.WebNature"
-            id="org.eclipse.ui.webProjectNatureImage">
-      </image>
-   </extension>
-
-    <extension
-         point="org.eclipse.wst.common.frameworks.ui.wtpuiAction"> 
-      <masterOperation
-            description="Delete the dependent J2EE modules"
-            extendedGenericId="org.eclipse.wst.common.generic.Delete"
-            populatorClass="org.eclipse.jst.j2ee.internal.ui.actions.J2EEDeleteModuleActionPopulator"
-            operationClass="org.eclipse.wst.common.frameworks.internal.operation.extension.ui.IActionWTPOperation"
-            name="Delete J2EE Dependent Modules" 
-            alwaysExecute="true"
-            overrideId="org.eclipse.wst.common.actions.Java.delete">
-            <selectionEnablement>
-            	<or>
-            		<and>
-            		<objectClass name="org.eclipse.core.resources.IProject"
-            					 adaptable="true" />
-					<or>
-			            <objectState
-			                  value="org.eclipse.jst.j2ee.EARNature"
-			                  name="projectNature" /> 
-			            <objectState
-			                  value="org.eclipse.jst.j2ee.ApplicationClientNature"
-			                  name="projectNature" /> 
-			            <objectState
-			                  value="org.eclipse.jst.j2ee.jca.ConnectorNature"
-			                  name="projectNature" /> 
-			            <objectState
-			                  value="org.eclipse.jst.j2ee.ejb.EJBNature"
-			                  name="projectNature" /> 
-			            <objectState
-			                  value="org.eclipse.jst.j2ee.web.WebNature"
-			                  name="projectNature" /> 
-			            </or>            					 
-            		</and> 
-	               <objectClass
-	                    name="org.eclipse.jst.j2ee.internal.application.Application">
-	              </objectClass>
-	              <objectClass
-	                    name="org.eclipse.jst.j2ee.internal.client.ApplicationClient">
-	              </objectClass>
-	              <objectClass
-	                    name="org.eclipse.jst.j2ee.internal.jca.Connector">
-	              </objectClass>
-	              <objectClass
-	                    name="org.eclipse.jst.j2ee.internal.ejb.EJBJar">
-	              </objectClass>
-	              <objectClass
-	                    name="org.eclipse.jst.j2ee.internal.webapplication.WebApp">
-	              </objectClass>            		       		
-            	</or>
-			</selectionEnablement>
-      </masterOperation>
-	</extension>   
-	
-	
-	<extension
-         point="org.eclipse.wst.common.emfworkbench.integration.adapterFactory">
-      <adapterFactory
-            className="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEEjbItemProviderAdapterFactory"
-            packageURI="ejb.xmi"
-            id="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEEjbItemProviderAdapterFactory">
-         <view 
-         	   id="org.eclipse.ui.navigator.ProjectExplorer">
-         </view>
-      </adapterFactory>
-      <adapterFactory
-            className="org.eclipse.jst.j2ee.internal.war.ui.util.J2EEWebItemProviderAdapterFactory"
-            packageURI="webapplication.xmi"
-            id="org.eclipse.jst.j2ee.internal.war.ui.util.J2EEWebItemProviderAdapterFactory">
-          <view 
-         	   id="org.eclipse.ui.navigator.ProjectExplorer">
-         </view>
-      </adapterFactory>
-      <adapterFactory
-            className="org.eclipse.jst.j2ee.internal.provider.J2EEApplicationItemProviderAdapterFactory"
-            packageURI="application.xmi"
-            id="org.eclipse.jst.j2ee.internal.provider.J2EEApplicationItemProviderAdapterFactory">
-          <view 
-         	   id="org.eclipse.ui.navigator.ProjectExplorer">
-         </view>
-      </adapterFactory>
-      <adapterFactory
-            className="org.eclipse.jst.j2ee.internal.provider.J2EEModulemapItemProviderAdapterFactory"
-            packageURI="modulemap.xmi"
-            id="org.eclipse.jst.j2ee.internal.provider.J2EEModulemapItemProviderAdapterFactory">
-          <view 
-         	   id="org.eclipse.ui.navigator.ProjectExplorer">
-         </view>
-      </adapterFactory>
-   </extension>
-   <extension point="org.eclipse.ui.popupMenus">
-      <objectContribution objectClass="org.eclipse.core.resources.IProject" adaptable="true" id="org.eclipse.jst.j2ee.ui.popupMenu">
-         <menu label="%javaee.ui.popupMenu"  id="javeeUIPopupMenuCategory">
-            <separator name="slot1"/> <!-- New/featured Java EE actions  -->
-            <separator name="slot2"/> <!-- Create files category  -->
-            <separator name="slot3"/> <!-- Project creation(clients)  -->
-            <separator name="slot4"/> <!-- Legacy(J2EE) actions  -->
-         </menu>
-      </objectContribution>
-        <!-- additional object contribution -->
-      <objectContribution objectClass="org.eclipse.jdt.core.IJavaElement" adaptable="true" id="org.eclipse.jst.j2ee.ui.javaElement.popupMenu">
-         <menu label="%javaee.ui.popupMenu" id="javeeUIPopupMenuCategory.javaElement">
-            <separator name="slot1"/>
-            <separator name="slot2"/>
-            <separator name="slot3"/>
-            <separator name="slot4"/>
-         </menu>
-      </objectContribution>
-   </extension>
-  <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            id="org.eclipse.jst.j2ee.internal.actions.ForceClasspathUpdateAction">
-         <action
-               label="%update-ear-libraries"
-               tooltip="%update-ear-libraries-tooltip"
-               class="org.eclipse.jst.j2ee.internal.actions.ForceClasspathUpdateAction"
-               menubarPath="javeeUIPopupMenuCategory/slot1"
-               enablesFor="+"
-               icon="icons/full/obj16/library_obj.gif"
-               id="org.eclipse.jst.j2ee.internal.actions.ForceClasspathUpdateAction">
-         </action>
-         <enablement>
-		  <adapt type="org.eclipse.core.resources.IProject">
-		  		<or>
-					<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.web" />
-					<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.ejb" />
-					<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.utility" />
-					<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.ear" />
-					<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.appclient" />
-					<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.connector" />
-				</or>
-			</adapt>
-		</enablement>
-      </objectContribution>
-   </extension>
-   
-<!-- Navigator Object Contributions -->
-<!-- EAR Group Contributions 
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup"
-            id="org.eclipse.jst.j2ee.internal.ui.navigator.earProjectActions">
-         <action
-               label="%ear.file_ui_"
-               icon="icons/full/ctool16/import_ear.gif"
-               class="org.eclipse.jst.j2ee.internal.ear.actions.ImportEARAction"
-               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.import.menu/additions"
-               enablesFor="1"
-               id="org.eclipse.jst.j2ee.internal.ui.navigator.importEARAction">
-         </action>
-         <action
-               label="%ear.file_ui_"
-               icon="icons/full/ctool16/export_ear.gif"
-               class="org.eclipse.jst.j2ee.internal.ear.actions.ExportEARAction"
-               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.export.menu/additions"
-               enablesFor="1"
-               id="org.eclipse.jst.j2ee.internal.ui.navigator.exportEARAction">
-         </action>
-         <visibility>
-            <objectState
-                  name="projectNature"
-                  value="org.eclipse.jst.j2ee.EARNature">
-            </objectState>
-         </visibility>
-      </objectContribution>
-   </extension>
-   -->
-<!-- Navigator Object Contributions -->
-<!-- Application Client Group Contributions
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.wst.common.navigator.internal.groups.NavigatorGroup"
-            id="org.eclipse.jst.j2ee.internal.ui.navigator.appClientProjectActions">
-         <action
-               label="%client.jar.file_ui_"
-               icon="icons/full/ctool16/appclient_import_wiz.gif"
-               class="org.eclipse.jst.j2ee.internal.client.actions.ImportApplicationClientAction"
-               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.import.menu/additions"
-               enablesFor="1"
-               id="org.eclipse.jst.j2ee.internal.ui.navigator.importAppClientAction">
-         </action>
-         <action
-               label="%client.jar.file_ui_"
-               icon="icons/full/ctool16/appclient_export.gif"
-               class="org.eclipse.jst.j2ee.internal.client.actions.ExportApplicationClientAction"
-               menubarPath="org.eclipse.wst.common.frameworks.internal.navigator.export.menu/additions"
-               enablesFor="1"
-               id="org.eclipse.jst.j2ee.internal.ui.navigator.exportAppClientAction">
-         </action>
-         <visibility>
-            <objectState
-                  name="projectNature"
-                  value="org.eclipse.jst.j2ee.ApplicationClientNature">
-            </objectState>
-         </visibility>
-      </objectContribution>
-   </extension>
-    -->
-<!-- Navigator Object Contributions -->
-<!-- ================================================== -->
-<!--          DEPLOY EXTENSIONS                         -->
-<!-- ================================================== -->
-<!--  <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="java.lang.Object"
-            nameFilter="*"
-            id="org.eclipse.jst.j2ee.internal.ui.deploy">
-         <action
-               label="%deploy_ui_"
-               icon="icons/full/ctool16/re_execute.gif"
-               class="org.eclipse.jst.j2ee.internal.actions.J2EEDeployAction"
-               menubarPath="additions"
-               id="deployAction">
-         </action>
-         <visibility>
-            <or>
-               <objectClass
-                     name="org.eclipse.jst.j2ee.ejb.EJBJar">
-               </objectClass>
-               <objectClass
-                     name="org.eclipse.jst.j2ee.ejb.EnterpriseBean">
-               </objectClass>
-               <objectClass
-                     name="org.eclipse.jst.j2ee.webapplication.WebApp">
-               </objectClass>
-               <objectClass
-                     name="org.eclipse.jst.j2ee.jca.Connector">
-               </objectClass>
-               <objectClass
-                     name="org.eclipse.jst.j2ee.application.Application">
-               </objectClass>
-               <objectClass
-                     name="org.eclipse.jst.j2ee.client.ApplicationClient">
-               </objectClass>
-               
-                     <objectState
-                           name="projectNature"
-                           value="org.eclipse.wst.common.componentcore.ModuleCoreNature">
-                     </objectState>
-          
-            </or>
-         </visibility>
-      </objectContribution>
-   </extension> -->
-<!-- Navigator Object Contributions -->
-
-    <extension point="org.eclipse.ui.propertyPages">
- 
-     
-<!-- =========== org.eclipse.jst.j2ee.internal.J2EEDependencyPage ============ -->
-      <page
-            adaptable="true"
-      		objectClass="org.eclipse.core.resources.IProject"
-      		name="%J2EEDependenciesPage.name"
-            class="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage"
-            id="org.eclipse.jst.j2ee.internal.J2EEDependenciesPage">
-           <enabledWhen>
-			<and>
-				<adapt
-					type="org.eclipse.core.resources.IProject">
-					<or> 
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.web" />
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.ejb" />
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.utility" />
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.ear" />
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.appclient" />
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.connector" />
-					</or>
-				</adapt>
-			</and> 
-         </enabledWhen>          
-      </page>
-      
-      <page
-      		adaptable="true"
-            objectClass="org.eclipse.core.resources.IProject"
-            name="%Web_Project_Settings"
-            class="org.eclipse.jst.j2ee.internal.ui.J2EEPropertiesPage"
-            id="J2EEPropertiesPage">
-         <enabledWhen>
-			<and>
-				<adapt
-					type="org.eclipse.core.resources.IProject">
-					<or> 
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.web" />
-						<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="wst.web" />
-					</or>
-				</adapt>
-			</and> 
-         </enabledWhen>
-      </page>
-            
-    </extension>
-
-<!--  
-	<extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
-	  
-		<renameParticipant
-				class="org.eclipse.jst.j2ee.internal.actions.J2EERenameParticipant"
-				id="org.eclipse.jst.j2ee.internal.actions.J2EERenameParticipant" 
-				name="%J2EE_Rename_Participant"> 
-			<enablement>
-				<with variable="affectedNatures">
-					<iterate operator="or">
-						<equals value="org.eclipse.wst.common.modulecore.ModuleCoreNature" />
-
-					</iterate>
-				</with>
-				<with variable="element">
-					<instanceof value="org.eclipse.core.resources.IProject" />
-
-				</with>
-			</enablement> 
-		</renameParticipant>
-	</extension>
-	
-	<extension point="org.eclipse.ltk.core.refactoring.renameParticipants">
-	  
-		<renameParticipant
-				class="org.eclipse.jst.j2ee.internal.actions.J2EEComponentRenameParticipant"
-				id="org.eclipse.jst.j2ee.internal.actions.J2EEComponentRenameParticipant" 
-				name="J2EE Rename Participant"> 
-		<enablement> 
-		   	<with variable="affectedNatures">
-            	<iterate operator="or"> 
-            			<equals value="org.eclipse.wst.common.modulecore.ModuleCoreNature" />  
-            	</iterate>
-            </with>
-            <with
-                  variable="element">
-               <instanceof
-                     value="org.eclipse.wst.common.componentcore.resources.IVirtualComponent">
-               </instanceof>
-            </with>
-         </enablement> 
-		</renameParticipant>
-	</extension> -->
-	
-  <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%j2ee"
-            icon="icons/full/cview16/j2ee_perspective.gif"
-            class="org.eclipse.jst.j2ee.internal.perspective.J2EEPerspective"
-            id="org.eclipse.jst.j2ee.J2EEPerspective">
-      </perspective>
-   </extension>	
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension targetID="org.eclipse.jst.j2ee.J2EEPerspective">
-         <perspectiveShortcut id="org.eclipse.debug.ui.DebugPerspective"/>
-         <perspectiveShortcut id="org.eclipse.jdt.ui.JavaPerspective"/>
-         <perspectiveShortcut id="org.eclipse.ui.resourcePerspective"/>
-         <perspectiveShortcut id="org.eclipse.wst.web.ui.webDevPerspective"/>
-       
- 		<newWizardShortcut id="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard"/>
-		<newWizardShortcut id="org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard"/>
-		<newWizardShortcut id="org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard"/>
-		<newWizardShortcut id="org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard"/>
-		<newWizardShortcut id="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard"/>
-		<newWizardShortcut id="org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard"/>				
-				
-		<newWizardShortcut id="org.eclipse.ui.wizards.new.folder"/>
-		<newWizardShortcut id="org.eclipse.ui.wizards.new.file"/>
-		
-                     
-         <actionSet id="org.eclipse.wst.server.ui.internal.webbrowser.actionSet"/>
-      </perspectiveExtension>
-      <perspectiveExtension targetID="org.eclipse.ui.resourcePerspective">
-         <perspectiveShortcut id="org.eclipse.jst.j2ee.J2EEPerspective"/>
-      </perspectiveExtension>
-      <perspectiveExtension targetID="org.eclipse.wst.web.ui.webDevPerspective">
-         <perspectiveShortcut id="org.eclipse.jst.j2ee.J2EEPerspective"/>
-      </perspectiveExtension>
-   </extension>	
-    
-   <extension
-		point="org.eclipse.wst.common.frameworks.DataModelProviderExtension">
-		<DataModelProvider
-            class="org.eclipse.jst.j2ee.internal.earcreation.EarComponentCreationDataModelProvider"
-            id="org.eclipse.jst.j2ee.internal.earcreation.IEarComponentCreationDataModelProperties"/>
-	</extension>
-	
-	<extension
-         id="context.Sensitive.Class.workingCopyManager"
-         name="Working Copy Manager - UI Context Class"
-         point="org.eclipse.jem.util.uiContextSensitiveClass">
-      <uiContextSensitiveClass
-            context="UI"
-            key="workingCopyManager"
-            className="org.eclipse.jst.common.jdt.internal.integration.ui.WTPUIWorkingCopyManager">
-      </uiContextSensitiveClass>
-   </extension>
-   
-    <extension point="org.eclipse.core.runtime.adapters">
-        <factory
-             class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
-             adaptableType="org.eclipse.core.resources.IProject">
-            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
-        </factory>
-        <factory
-             class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
-             adaptableType="org.eclipse.jst.j2ee.application.Application">
-             <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
-        </factory>
-        <factory
-             class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory"
-             adaptableType="org.eclipse.core.resources.IFile">
-            <adapter type= "org.eclipse.debug.ui.actions.ILaunchable"/>
-       </factory>
-        <factory
-              adaptableType="org.eclipse.jst.j2ee.internal.ejb.provider.J2EEJavaClassProviderHelper"
-              class="org.eclipse.jst.j2ee.internal.ClassHelperAdapterFactory">
-           <adapter type="org.eclipse.core.resources.IFile"/>
-           <adapter type="org.eclipse.core.resources.IResource"/>
-        </factory>
-    
-    <!--
-      <factory 
-      		class="org.eclipse.jst.j2ee.internal.plugin.FacetedProjectAdapterFactory"
-            adaptableType="org.eclipse.core.resources.IProject" >
-         	<adapter type="org.eclipse.ui.IActionFilter"/>
-      </factory>    
-    -->
-   </extension> 
-   
-   <extension
-         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
-    <moduleArtifactAdapter
-           id="org.eclipse.jst.j2ee.server.ear1"
-           class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
-         <enablement>
-           <with variable="selection">
-             <adapt type="org.eclipse.jst.j2ee.application.Application"/>
-           </with>
-         </enablement>
-      </moduleArtifactAdapter>
-   
-     <moduleArtifactAdapter
-            id="org.eclipse.jst.j2ee.server.ear2"
-            class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
-         <enablement>
-           <with variable="selection">
-             <adapt type="org.eclipse.core.resources.IProject">
-             	<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.ear:1.4]" />
-			 </adapt>
-             
-           </with>
-         </enablement>
-      </moduleArtifactAdapter>
-      
-      <moduleArtifactAdapter
-            id="org.eclipse.jst.j2ee.server.ear3"
-            class="org.eclipse.jst.j2ee.internal.deployables.EnterpriseDeployableArtifactAdapterFactory">
-         <enablement>
-           <with variable="selection">
-             <adapt type="org.eclipse.core.resources.IFile">
-             	<test forcePluginActivation="true"
-							property="org.eclipse.wst.common.project.facet.core.projectFacet"
-							value="jst.ear:1.4]" />
-			 </adapt>
-           </with>
-         </enablement>
-      </moduleArtifactAdapter>
-     </extension>
-     
-  <extension point="org.eclipse.wst.common.project.facet.ui.wizardPages">
-    <wizard-pages action="jst.ear.install">
-      <page class="org.eclipse.jst.j2ee.ui.project.facet.EarFacetInstallPage"/>
-    </wizard-pages>
-    <wizard-pages action="jst.appclient.install">
-      <page class="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientFacetInstallPage"/>
-    </wizard-pages>
-  </extension>
-
-  <extension
-    point="org.eclipse.ui.ide.markerResolution">
-	<markerResolutionGenerator
-      markerType="org.eclipse.jst.j2ee.differentRuntimesDetected"
-      class="org.eclipse.jst.j2ee.ui.project.facet.RuntimeMismatchMarkerResolutions">
-    </markerResolutionGenerator>
-  </extension>
-      
-    <extension
-          point="org.eclipse.wst.common.modulecore.ComponentProjectMigrator">
-       <migratorExtension class="org.eclipse.jst.j2ee.internal.J2EEComponentProjectMigrator"/>
-    </extension>
-   
-   <extension 
-       point="org.eclipse.jem.util.uiContextSensitiveClass">
-       <uiContextSensitiveClass
-          key="ValidateEditContext"
-          className="org.eclipse.jst.j2ee.internal.listeners.ValidateEditListener"
-          context="UI"/>
-  </extension>
-
-  <extension point="org.eclipse.jdt.ui.classpathAttributeConfiguration">
-    <classpathAttributeConfiguration
-      attributeName="org.eclipse.jst.component.dependency"
-      class="org.eclipse.jst.j2ee.internal.classpathdep.ui.ClasspathDependencyAttributeConfiguration">
-    </classpathAttributeConfiguration>
- </extension>
- 
- <extension point="org.eclipse.jdt.ui.classpathAttributeConfiguration">
-    <classpathAttributeConfiguration
-      attributeName="org.eclipse.jst.component.nondependency"
-      class="org.eclipse.jst.j2ee.internal.classpathdep.ui.ClasspathNonDependencyAttributeConfiguration">
-    </classpathAttributeConfiguration>
- </extension>
-
- <extension
-    point="org.eclipse.ui.ide.markerResolution">
-	<markerResolutionGenerator
-      markerType="org.eclipse.jst.j2ee.ClasspathDependencyValidatorMarker"
-      class="org.eclipse.jst.j2ee.internal.classpathdep.ui.ClasspathDependencyValidatorMarkerResolutions">
-    </markerResolutionGenerator>
-  </extension>
-
-  <extension
-    point="org.eclipse.jdt.ui.classpathContainerPage">
-    <classpathContainerPage
-      name="%earLibrariesContainerName"
-      class="org.eclipse.jst.j2ee.internal.wizard.EARLibrariesContainerPage"
-      id="org.eclipse.jst.j2ee.internal.module.container">
-    </classpathContainerPage>
-  </extension>
-</plugin>
diff --git a/plugins/org.eclipse.jst.j2ee.ui/prepareforpii.xml b/plugins/org.eclipse.jst.j2ee.ui/prepareforpii.xml
deleted file mode 100644
index d3bfda0..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/prepareforpii.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<project name="PrepareForPII" default="main" basedir=".">
-		
-	<!-- Setup temp variables -->
-	<target name="init">
-		<property name="nlsDir" value="d:/NLS/Corona/0526"/>
-		<property name="plugin" value="com.ibm.wtp.j2ee.ui"/>
-		<property name="plugindir" value="d:/workspaceCorona/${plugin}"/>
-		<property name="outputDir" value="${nlsDir}/${plugin}"/>
-		
-	
-	</target>
-
-	<!-- Create the destination dir -->
-	<target name="nlsDir" depends="init">
-		<mkdir dir="${nlsDir}"/>
-	</target>
-	
-	<!-- Create the destination dir -->
-	<target name="plugindir" depends="nlsDir">
-		<delete dir="${outputDir}"/>
-		<mkdir dir="${outputDir}"/>
-	</target>
-
-	<!-- Move the files to the correct locations in the workspace. -->
-	<target name="main" depends="plugindir">
-	
-		<messageIdGen folderPath = "${plugindir}" componentId = "E" />
-		
-		<copy todir = "${outputDir}/property_files" >
-			 <fileset dir="${plugindir}/property_files">
-           	  <include name="**/*.properties"/>
-  			 </fileset>
-  		</copy>
-  		
-  		<copy file="${plugindir}/plugin.properties" todir="${outputDir}"/>
-  		
-	</target>
-</project>
diff --git a/plugins/org.eclipse.jst.j2ee.ui/property_files/UtilityFacetInstallPage.properties b/plugins/org.eclipse.jst.j2ee.ui/property_files/UtilityFacetInstallPage.properties
deleted file mode 100644
index 0a6de07..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/property_files/UtilityFacetInstallPage.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pageTitle = Utility Module
-pageDescription = Configure utility module settings.
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_figures.properties b/plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_figures.properties
deleted file mode 100644
index 0ada374..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_figures.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-RelationshipPolyLine_UI_0=Navigation
-RelationshipPolyLine_UI_1=Navigation
-RelationshipPolyLine_UI_2=Cmr Field / Foreign Key
-RelationshipPolyLine_UI_3=Cmr Field / Foreign Key
-RelationshipPolyLine_UI_4=Edit left end
-RelationshipPolyLine_UI_5=Edit right
-RelationshipPolyLine_UI_6=Edit left end
-RelationshipPolyLine_UI_7=Edit right end
diff --git a/plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_ui.properties b/plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_ui.properties
deleted file mode 100644
index 7733593..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/property_files/ejb_ui.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-KEY_0=Failed to find the image "{0}".
-KEY_1=New EJB Project
-KEY_2=EJB version:
-KEY_3=EJB Project
-KEY_4=Create an EJB project and add it to a new or existing Enterprise Application.
-KEY_5=Import an EJB jar from the file system
-KEY_6=EJB Jar Import
-KEY_7=EJB Jar file:
-KEY_8=EJB Project:
-KEY_9=EJB Jar Export
-KEY_10=Export EJB project to the local file system.
-KEY_11=EJB client JAR Creation
-KEY_12=Use this wizard to create an EJB client JAR from your existing EJB
-KEY_13=Client JAR URI:
-KEY_14=Project name:
-KEY_15=Project location:
-KEY_16=EJB Project:
-KEY_17=Delete Bean Only
-KEY_18=Delete Bean Classes
-KEY_19=Delete Access Bean
-KEY_20=Delete Deployed Code
-KEY_21=Select All
-KEY_22=Deselect All
-KEY_23=The selected enterprise bean cannot be deleted because it is involved in\nrelationships with other enterprise beans.  You must first delete these\nrelationships before deleting the bean.
-KEY_24=Delete...
-KEY_25=Cannot delete Enterprise Bean
-KEY_26=Cannot delete the bean named "{0}" because it is in a binary project.
-KEY_27=Delete Enterprise Bean(s)
-KEY_28=What options would you like when deleting the selected\nEnterprise Bean(s)?
-GroupedEJBJarItemProvider_UI_0=Session
-GroupedEJBJarItemProvider_UI_1=Entity
-GroupedEJBJarItemProvider_UI_2=Message
-NewEJBProjectAction_UI_0=EJB Project
-NewEJBModuleAction_UI_0=EJB Project
-pageTitle=Ejb Module
-pageDescription=Configure ejb module settings.
-configFolderLabel=Config Folder:
diff --git a/plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ejb_ui.properties b/plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ejb_ui.properties
deleted file mode 100644
index fc3565e..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ejb_ui.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-GroupedEJBJarItemProvider_UI_0=Session
-GroupedEJBJarItemProvider_UI_1=Entity
-GroupedEJBJarItemProvider_UI_2=Message
-
diff --git a/plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ui.properties b/plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ui.properties
deleted file mode 100644
index e625024..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/property_files/j2ee_ui.properties
+++ /dev/null
@@ -1,351 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-1=Project location:
-2=Target runtime:
-3=J2EE version:
-4=Failed to find the image "{0}".
-5=New Enterprise Application Project
-6=Enterprise Application Project
-7=Create an Enterprise Application project containing one or more module projects.
-8=EAR Module Projects
-9=Select the module projects to add to the new EAR project from the list. \nSelect New Module button to create a new module project.
-10=&Select All
-11=&Deselect All
-12=New &Module...
-13=EAR project:
-14=N&ew...
-14a=Ne&w...
-15=Add module to an EAR application.
-16=New Module Project
-17=Create a new module project for the selected module type
-18=New Module Project
-19=Create default module projects.
-20=Application Client project:
-21=EJB project:
-22=Web project:
-23=Connector project:
-24=New Application Client Project
-25=Application Client module
-26=Create an Application Client project and add it to a new or existing Enterprise Application project
-27=Module Dependencies
-28=Select dependent JARs for the module within the Enterprise Application project.
-29=Available dependent JARs:
-30=Manifest Class-Path:
-31=JAR/Module
-32=Project:
-33=New
-34=Import an Application Client project from the file System
-35=Application Client Import
-36=Application Client file:
-37=Application Client project:
-38=Import
-39=Import an Enterprise Application project based on selected resources.
-40=Enterprise Application Import
-41=EAR file:
-42=Overwrite existing resources without warning.
-43=Project import
-44=Optimized: make binary projects for EJB, client, and utility JARs
-45=Expanded: extract project contents for development
-46=Import for partial EAR development
-47=Select All
-48=Deselect All
-49=Utility JARs and web libraries
-50=Select the utility JARs from the list to be imported as utility projects. Unselected JARs will be imported as \nutility JARs in the EAR.
-51=Enter the new project name that will be created for the imported module file by selecting the second column of the table for edit.
-52=EAR Module and Utility JAR Projects
-53=Project locations
-54=This is the parent directory for all referenced projects. A subdirectory will be created for each project.
-55=Module Root Location:
-
-57=Select the location directory
-58=Modules in EAR
-59=New Project Name
-60=filenames
-61=projectnames
-62=Destination:
-63=Overwrite existing file
-64=Export source files
-65=Application Client Export
-66=Export Application Client project to the local file system.
-67=Export
-68=EAR Export
-69=Export Enterprise Application project to the local file system.
-70=Include project build paths and meta-data files
-71=If you select this option, the exported EAR maintains project names and external classpath dependencies, which are useful for later importing the EAR into binary projects. If you select this option and later import the EAR, only binary projects are created.
-72=Include
-74=Allow nested projects overwrites (module and utility projects)
-75=Delete project on overwrite
-76=EAR project:
-
-#migration strings
-77=Error
-78=An internal error occurred performing the selected action.
-79=Binary Project
-80=The action cannot be performed on the selection, which is part of a binary project.
-81=Information
-82=The chosen operation is not currently available.
-
-90=Create an EJB Client JAR module to hold the client interfaces and classes.
-91=Generate an annotated bean class
-92=Add support for annotated Java classes
-93=B&rowse...
-94=Na&me:
-95=Create a default Main class
-96=Create a default stateless session bean
-98=Generate a XDoclet annotated class
-
-97=Select the utility JARs from the list to be imported as utility projects or jars.
-99=Project Name:
-100=Module Version:
-101=Configure Application Client module settings.
-102=Content Folder:
-103=Target Runtime
-Entity_UI_=Entity Beans(1.x-2.x)
-Message_Driven_Beans_UI_=Message-Driven Beans
-Session_Beans_UI_=Session Beans
-EJB_Class_UI_=EJB Class: {0}
-Home_Interface_UI_=Home Interface: {0}
-Service_Endpoint_Interface_UI_=Service Endpoint Interface: {0}
-Primary_Key_Class_UI_=Primary Key Class: {0}
-Remote_Interface_UI_=Remote Interface: {0}
-Local_Interface_UI_=Local Interface: {0}
-Local_Home_Interface_UI_=Local Home Interface: {0}
-Delete_UI_=Delete...
-Project_should_not_be_null_1_EXC_=IWAE0021E Project should not be null
-Non-project_in_selection_2_EXC_=IWAE0022E Non-project in selection
-Problems_Opening_Editor_ERROR_=IWAE0052E Problems Opening Editor.
-Utility_JARs_UI_=Utility JARs
-Delete_1=Delete...
-Delete_selected_project(s)_2=Delete selected project(s)
-Remove_module(s)_from_all_Enterprise_Applications_3=Remove module(s) from all Enterprise Applications
-Remove_module(s)_from_all_other_Enterprise_Applications_4=Remove module(s) from all other Enterprise Applications
-Remove_module_dependencies_referencing_selected_project(s)_5=Remove module dependencies referencing selected project(s)
-Delete_Module_Options_6=Delete Module Options
-Delete_Enterprise_Application_Options_7=Delete Enterprise Application Options
-Delete_could_not_be_completed_8=Delete could not be completed
-Delete_error_9=Delete error
-What_would_you_like_to_delete__10=What would you like to delete?
-Delete_selected_Enterprise_Application_project(s)_only_11=Delete selected Enterprise Application project(s) only
-Also_delete_module_and_utility_Java_projects_12=Also delete module and utility Java projects
-Delete_selected_project(s)_only_13=Delete selected project(s) only
-Also_delete_references_to_selected_project(s)_14=Also delete references to selected project(s)
-CUSTOM_DELETE_MIX_MATCH_UI_=The custom Java EE delete options are not available for the selected Java EE projects.  The standard delete options will be used.
-DEPLOY_DIALOG_TITLE=J2EE Deployment
-DEPLOY_ERROR_TEXT=IWAE0001E Error:
-DEPLOY_WARNING_TEXT=Warning:
-DEPLOY_INFO_TEXT=IWAE0002I Info:
-DEPLOY_OK_TEXT=Ok:
-DEPLOYMENT_IN_PROGRESS=Deployment operation in progress...
-DEPLOY_SUCCESS_REPORT=Deployment finished successfully.
-DEPLOY_WARNINGS_REPORT=Deployment finished with warnings; see log files for details.
-DEPLOY_ERRORS_REPORT=Deployment finished with errors; see log files for details.
-DEPLOY_PROJECT_NOT_FOUND=Cannot get handle to the project.
-DEPLOY_RUNTIME_NOT_FOUND=Target runtime not configured for project {0}.
-DEPLOY_RUNTIME_CONFIGURED=Target runtime configured successfully for project {0}.
-DEPLOY_PROJECT_NOT_SUPPORTED=Project {0} cannot be deployed on the configured target runtime.
-
-NewModuleSelectionPage.appClient=Application Client
-NewModuleSelectionPage.ejb=Enterprise Java Bean
-NewModuleSelectionPage.web=Web
-NewModuleSelectionPage.jca=Connector
-
-NewApplClientModuleAction_UI_0=Application Client Module
-NewEARModuleAction_UI_0=EAR Module
-J2EEProjectCreationPage_UI_0=Hide &Advanced <<
-J2EEProjectCreationPage_UI_1=Show &Advanced >>
-J2EEUtilityJarImportPage_UI_0=Utility Jar Import
-J2EEUtilityJarImportPage_UI_1=Import dependent Utility Jars for Java EE Enterprise Applications
-J2EEUtilityJarImportPage_UI_2=Available Utility Jars Directory
-J2EEUtilityJarImportPage_UI_3=External Jar Directory:
-J2EEUtilityJarImportPage_UI_4=Linked Path Variable
-J2EEUtilityJarImportPage_UI_5=Make these imported files team-shareable by creating or re-using a Linked Path Variable (LPV). Select an existing LPV or type a new name to create one to the directory above. Other teammates should define this value through Window > Preferences | Workbench > Linked Resources. This option is only available for linked imports.
-J2EEUtilityJarImportPage_UI_6=Overwrite Existing Resources (projects and archives)
-J2EEUtilityJarImportPage_UI_7=Select Utility Jar:
-J2EEUtilityJarImportPage.0=Use Existing Linked Path Variable
-J2EEUtilityJarImportPage.1=Linked Path Variable: 
-EARImportProjectsPage_UI_0=include
-EARImportProjectsPage_UI_1=file
-EARImportProjectsPage_UI_2=project
-EARImportProjectsPage_UI_3=Select New
-
-J2EEUtilityJarImportTypePage_UI_0=Utility Jar Import
-J2EEUtilityJarImportTypePage_UI_1=Import dependent Utility Jars for Java EE Enterprise Applications
-J2EEUtilityJarImportTypePage_UI_2=Select import type
-J2EEUtilityJarImportTypePage_UI_3=Create Java Projects from Utility Jars
-J2EEUtilityJarImportTypePage_UI_4=Create linked Java Projects from Utility Jars
-J2EEUtilityJarImportTypePage_UI_5=Copy Utility Jars into an existing EAR from an external location
-J2EEUtilityJarImportTypePage_UI_6=Create Linked Utility Jars in an existing EAR from an external location
-J2EEUtilityJarImportTypePage_UI_7=Project import options
-J2EEUtilityJarImportTypePage_UI_8=Select EAR Project
-J2EEUtilityJarImportTypePage_UI_9=EAR Project:
-J2EEUtilityJarImportTypePage_UI_10=Create Binary Projects
-J2EEUtilityJarImportTypePage_UI_11=Override Project Root (Specify location below)
-
-Deployment_Descriptor_UI_=Deployment Descriptor
-
-Rename_1=Rename
-Rename_selected_project_2=Rename selected project
-Rename_module_in_all_Enterprise_Applications_3=Rename module in all Enterprise Applications
-Rename_module_in_all_other_Enterprise_Applications_4=Rename module in all other Enterprise Applications
-Rename_module_dependencies_referencing_selected_project_5=Rename module dependencies referencing selected project
-Rename_Module_Options_6=Rename Module Options
-Rename_Enterprise_Application_Options_7=Rename Enterprise Application Options
-Rename_could_not_be_completed_8=Rename could not be completed
-Rename_error_9=Rename error
-What_would_you_like_to_rename_this_to__10=What would you like to rename this to?
-Context_Root__11=Context root:
-Rename_selected_Enterprise_Application_project_only_12=Rename selected Enterprise Application project only
-Also_rename_module_and_utility_Java_projects_13=Also rename module and utility Java projects
-Project_already_exists.=Project {0} already exists.
-Project_should_not_be_null_1_EXC_=IWAE0021E Project should not be null
-Non-project_in_selection_2_ERROR_=IWAE0024E Non-project in selection
-
-
-ERROR_OCCURRED_TITLE=Error
-ERROR_OCCURRED_MESSAGE=An internal error occurred performing the selected action.
-
-Import_Class_Files_UI=Import
-FileImport.selectSource=Select a directory to import from.
-Import_Classes=Import Class Files...
-ClassesImport.fromDir=Import from Directory
-ClassesImport.fromZip=Import from Zip or Jar
-DataTransfer.browse=Browse...
-DataTransfer.directory=Source:
-DataTransfer.fileSystemTitle=Import Class Files
-FileImport.importFileSystem=Import class files from the local file system.
-FileImport.sourceEmpty=Source must not be empty.
-FileImport.overwriteExisting=Overwrite existing resources without warning
-DataTransfer.selectAll=Select All
-DataTransfer.deselectAll=Deselect All
-Import_Class_Files_UI=Import
-FileImport.selectSource=Select a directory to import from.
-Inconsistent_Files_3=Inconsistent Files
-The_following_workspace_files_are_inconsistent_with_the_editor_4=The following workspace files are inconsistent with the editor: \n
-Update_the_editor_with_the_workspace_contents__5=Update the editor with the workspace contents?
-Error_checking_out_files_10=Error checking out files
-Inconsistent_files_detected_11=Inconsistent files detected
-Modules_UI_=Modules
-Utility_Java_Projects_UI_=Project Utility JARs
-The_following_files_are_inconsistent_with_the_file_system._Do_you_want_to_save_and_overwrite_these_files_on_the_file_system__12_WARN_=IWAE0020W The following files are inconsistent with the file system.\nDo you want to save and overwrite these files on the file system?
-J2EE_Level=J2EE Level:
-J2EE_12=1.2
-J2EE_13=1.3
-J2EE_14=1.4
-J2EE_12_DESCRIPTION=J2EE 1.2 includes Servlet Specification level 2.2, JSP Specification level 1.1, and EJB Specification level 1.1.
-J2EE_13_DESCRIPTION=J2EE 1.3 includes Connector Architecture Specification level 1.0, Servlet Specification level 2.3, JSP Specification level 1.2, and EJB Specification level 2.0.
-J2EE_14_DESCRIPTION=J2EE 1.4 includes Connector Architecture Specification level 1.5, Servlet Specification level 2.4, JSP Specification level 1.3, and EJB Specification level 2.1.
-EJB_LEVEL=EJB Level:
-EJB_11=1.1
-EJB_20=2.0
-EJB_21=2.1
-EJB_11_DESCRIPTION=EJB 1.1 includes Session Beans, BMP Beans and CMP 1.1 Beans.  EJB 1.1 modules may be included in either Java EE 1.2 or Java EE 1.3 Enterprise Applications.
-EJB_20_DESCRIPTION=EJB 2.0 includes Message-Driven Beans, BMP Beans, and CMP 1.1 and CMP 2.0 Beans.  EJB 2.0 modules may only be included in Java EE 1.3 Enterprise Applications.
-EJB_21_DESCRIPTION=EJB 2.1 includes Message-Driven Beans, BMP Beans, and CMP 1.1 and CMP 2.0 Beans.  EJB 2.1 modules may only be included in Java EE 1.4 Enterprise Applications.
-WEB_LEVEL=Web Level:
-WEB_22=2.2
-WEB_23=2.3
-WEB_24=2.4
-WEB_22_DESCRIPTION=Web 2.2 includes Servlet specification 2.2 and JSP specification 1.1.
-WEB_23_DESCRIPTION=Web 2.3 includes Servlet specification 2.3 and JSP specification 1.2.
-WEB_24_DESCRIPTION=Web 2.4 includes Servlet specification 2.4 and JSP specification 2.0.
-APP_CLIENT_LEVEL=Application Client Level:
-APP_CLIENT_12_DESCRIPTION=Application 1.2 includes the Applciation client specification level 1.2.
-APP_CLIENT_13_DESCRIPTION=Application 1.3 includes the Applciation client specification level 1.3.
-APP_CLIENT_14_DESCRIPTION=Application 1.4 includes the Applciation client specification level 1.4.
-CONNECTOR_LEVEL=Connector Architecture Level:
-CONNECTOR_10=1.0
-CONNECTOR_15=1.5
-CONNECTOR_10_DESCRIPTION=Connector Architecture 1.0 modules may only be included in Java EE 1.3 Enterprise Applications.
-CONNECTOR_15_DESCRIPTION=Connector Architecture 1.5 modules may only be included in Java EE 1.4 Enterprise Applications.
-DESCRIPTION=Description:
-WEB_CONTEXT_ROOT=Context Root:
-WEB_CONTENT_FOLDER_NAME=Web content folder name:
-FileImport.invalidSource = Source directory is not valid or has not been specified.
-FileImport.importProblems = Import Problems
-DataTransfer.information = Information
-FileImport.noneSelected = There are no resources currently selected for import.
-File_Selection_UI_=File Selection
-Select_a_file__UI_=Select a file:
-Flexible_Structure=Use flexible project structure
-FlexibleProjectCreationWizard.mainPage.title=J2EE Project
-FlexibleProjectCreationWizard.mainPage.desc=Create a Java EE project.
-FlexibleProjectCreationWizard.title=J2EE Project
-EARComponentCreationWizard.title=New EAR Application Project
-EARComponentCreationWizard.mainPage.title=EAR Application Project
-EARComponentCreationWizard.mainPage.desc=Create a EAR application.
-EARComponentCreationWizard.secondPage.title=Enterprise Application
-EARComponentCreationWizard.secondPage.desc=Configure enterprise application settings.
-J2EEModuleDependencies.label=Java EE Module Dependencies:
-AppClientComponentCreationWizard.title=New Application Client Project
-AppClientComponentCreationWizard.mainPage.title=Application Client Project
-AppClientComponentCreationWizard.mainPage.desc=Create a Application Client.
-DefaultJ2EEComponentCreationWizard.title=Create default Java EE modules.
-DefaultJ2EEComponentCreationWizard.page.title=New Java EE Module
-DefaultJ2EEComponentCreationWizard.page.desc=Create a new Java EE module for the selected module type
-DefaultJ2EEComponentCreationWizard.page.label.ejb=EJB module
-DefaultJ2EEComponentCreationWizard.page.label.web=Web module
-DefaultJ2EEComponentCreationWizard.page.label.jca=Connector module
-DefaultJ2EEComponentCreationWizard.page.label.appclient=Application client module
-DefaultJ2EEComponentCreationWizard.page.button.select=Create default modules
-
-FOLDER_LABEL=Source folder:
-BROWSE_BUTTON_LABEL=Browse...
-JAVA_PACKAGE_LABEL=Java package:
-CLASS_NAME_LABEL=Class name:
-SUPERCLASS_LABEL=Superclass:
-CONTAINER_SELECTION_DIALOG_TITLE=Container Selection
-CONTAINER_SELECTION_DIALOG_DESC=Choose a Container:
-CONTAINER_SELECTION_DIALOG_VALIDATOR_MESG=Choose a valid java source folder for the selected module.
-PACKAGE_SELECTION_DIALOG_TITLE=Package Selection
-PACKAGE_SELECTION_DIALOG_DESC=Choose a package:
-PACKAGE_SELECTION_DIALOG_MSG_NONE=No packages to choose from
-SUPERCLASS_SELECTION_DIALOG_TITLE=Superclass Selection
-SUPERCLASS_SELECTION_DIALOG_DESC=Choose a superclass:
-JAVA_CLASS_MODIFIERS_LABEL=Modifiers:
-JAVA_CLASS_PUBLIC_CHECKBOX_LABEL=Public
-JAVA_CLASS_ABSTRACT_CHECKBOX_LABEL=Abstract
-JAVA_CLASS_FINAL_CHECKBOX_LABEL=Final
-JAVA_CLASS_INTERFACES_LABEL=Interfaces:
-JAVA_CLASS_METHOD_STUBS_LABEL=Which method stubs would you like to create?
-JAVA_CLASS_MAIN_CHECKBOX_LABEL=public static void main(String[] args)
-JAVA_CLASS_CONSTRUCTOR_CHECKBOX_LABEL=Constructors from superclass
-JAVA_CLASS_INHERIT_CHECKBOX_LABEL=Inherited abstract methods
-ADD_BUTTON_LABEL=Add...
-REMOVE_BUTTON=Remove
-YES_BUTTON=Yes
-NO_BUTTON=No
-OK_BUTTON=OK
-CANCEL_BUTTON=Cancel
-BINARY=Binary
-INTERFACE_SELECTION_DIALOG_TITLE=Interface Selection
-JAVAUTILITY_MAIN_PG_TITLE=Java Component
-JAVAUTILITY_MAIN_PG_DESC=Create a Java Component
-JAVAUTIL_COMPONENT_WIZ_TITLE=New Java Utility Module
-AVAILABLE_J2EE_COMPONENTS= Available Java EE modules
-EXTERNAL_JAR=Add External JARs...
-PROJECT_JAR=Add JARs...
-ADDVARIABLE=Add Variable...
-CHANGE_LIB_DIR=Change &Library Directory...
-NO_DD_MSG_TITLE=No Deployment Descriptor
-GEN_DD_QUESTION=Changing the library directory must be reflected in the deployment descriptor. This EAR has no deployment descriptor yet and one will be generated now. Do you want to proceed?
-CHANGE_LIB_DIR_HEAD=Change Library Directory
-NEW_LIB_DIR_PROPMPT=New library directory location:
-BLANK_LIB_DIR=Blank Library Directory
-BLANK_LIB_DIR_CONFIRM=You've entered a blank library directory. In result, all the libraries will be packed in the root directory. In order to be able to pack any libraries in the library directory you must enter a non-blank library directory. Do you really want the library directory to be blank?
-BLANK_LIB_DIR_WARN_QUESTION=The specified library directory is blank. In result, all the libraries will be packed in the root directory. Are you sure you want this? (If you want to leave the bundled libraries directory blank, click 'Yes'. If you want to change it, click 'No')
-INVALID_PATH=Invalid Path
-INVALID_PATH_MSG=The entered path is invalid for a library directory. Please enter a valid path, different from root!
-DEPENDENCY_CONFLICT_TITLE=Dependencies Conflict
-DEPENDENCY_CONFLICT_MSG_1=This JAR is a bundled library of an EAR project and is supposed to be packed in the EAR's library directory. It conflicts with the manifest class path dependency you are trying to create. If you create this dependency, the JAR will be packed in the root (not library) directory of the EAR. Are you sure you want to proceed?
-DEPENDENCY_CONFLICT_MSG_2=This JAR is also a manifest class path dependency of a module in this EAR. It conflicts with packing the JAR in the library directory. If you want this JAR packed in the library directory, then it will be removed as a manifest class path dependency from all modules in this EAR. Are you sure you want to proceed?  
-DO_NOT_SHOW_WARNING_AGAIN=Do not show this warning again 
-SUPPORTMULTIPLEMODULES=Support Multiple Modules per project
-SOURCEFOLDER=Source Folder:
diff --git a/plugins/org.eclipse.jst.j2ee.ui/property_files/jca_ui.properties b/plugins/org.eclipse.jst.j2ee.ui/property_files/jca_ui.properties
deleted file mode 100644
index f8ff5fa..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/property_files/jca_ui.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-_0=Failed to find the image "{0}".
-_1=New Connector Project
-_2=J2C version:
-_3=Connector Project
-_4=Create a standalone Connector module or add it to a new or existing Enterprise Application project.
-_5=Import a Connector module from the file system
-_6=Connector Import
-_7=Connector file:
-_8=Connector module:
-_9=Connector Export
-_10=Export Connector module to the local file system.
-_11=Configure Connector module settings.
-connector_export_action_label_ui_=Export RAR File...
diff --git a/plugins/org.eclipse.jst.j2ee.ui/property_files/manifest_ui.properties b/plugins/org.eclipse.jst.j2ee.ui/property_files/manifest_ui.properties
deleted file mode 100644
index 2735cb3..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/property_files/manifest_ui.properties
+++ /dev/null
@@ -1,48 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Up_1=&Up
-Down_2=&Down
-Select_All_3=Select &All
-Deselect_All_4=D&eselect All
-ERROR_READING_MANIFEST_DIALOG_TITLE=Error Reading Manifest
-SAVE_MANIFEST_WITH_ERROR=The manifest file contains errors and can not be parsed.  The file will be saved but the Java build path will not be updated.  Following are common limitations which can cause problems:
-ERROR_READING_MANIFEST_DIALOG_MESSAGE_EDITOR=The manifest file contains errors and can not be parsed.  Other pages cannot be used until these errors are corrected.  Following are common limitations which can cause problems:
-ERROR_READING_MANIFEST_DIALOG_MESSAGE_PROP_PAGE=The manifest file contains errors and can not be parsed.  Following are common limitations which can cause problems:
-MANIFEST_PROBLEM_1=* Lines in the file must be no greater than 72 bytes. Continuation of long lines is indicated by a new line and a space.
-MANIFEST_PROBLEM_2=* The last line in the file must end with a new line or it will not be parsed.
-MANIFEST_PROBLEM_3=* Blank lines with extra white space may cause parse to fail.
-MANIFEST_PROBLEM_4=* The attributes must be formatted correctly.  Refer to the manifest and JAR file specification for more information.
-An_internal_error_occurred_ERROR_=IWAE0010E An internal error occurred:
-Project_name__UI_=Project name:
-EAR_Project_Name__UI__UI_=Enterprise application project name:
-Available_dependent_JARs__UI_=Available dependent JARs:
-Manifest_Class_Path__UI_=Manifest Class-Path (does not include contributions from classpath entries):
-JAR_Module_UI_=JAR/Module
-Packed_In_Lib_UI_=In Lib Dir
-Project_UI_=Project
-EAR_Modules=EAR Modules:
-EAR_Modules_Desc=This property page lets you setup the module dependencies in an Enterprise Application.
-J2EE_Modules=J2EE Modules
-J2EE_Modules_Desc=This property page lets you add Manifest classpath dependencies to other Java EE modules or JARs contained within the same Enterprise Application. It also supports the selection of class folders whose contents will be added to the root of this module.
-Web_Libraries=Web Libraries
-Web_Libraries_Desc=This property page lets you add a Web Library dependency to utility projects, JAR files or classpath entries. Archive dependencies will be resolved into the WEB-INF/lib folder of the web module at deployment time. Class folder dependencies will be resolved into the WEB-INF/classes folder.
-Web_Ref_Desc=This property page lets you specify module dependencies on classpath entries. Entries that reference archives will be bundled, along with the project, into the WEB-INF/lib folder of referencing web modules. The contents of class folder entries will be added to the root of this module.
-EAR_Module_Dep_Error=J2EE Modules is not valid for EAR modules.
-Unreferenced_Module_Error=Selected module is not referenced by any EAR or Dynamic Web modules.
-Jar_Dep_One_Module_Error=Java Jar Dependencies is valid only for one module per flexible project.
-Web_Lib_Error=Web library settings are only valid for Web modules.
-REDIRECT_TEXT_EDITOR_UI_=REDIRECT_TEXT_EDITOR_UI_
-Error_Checking_Project_Facets=Error checking project facets.
-Error_Checking_Project_Facets=Error checking project facets.
-WEB_LIB_LIST_DESCRIPTION=Select the utility project, JAR or classpath entry to add as a Web Library dependency
-Dynamic_Web_Error=This property page is not valid for dynamic web projects.
-No_Web_Reference_Error=Selected project must be referenced by at least one dynamic web project.
-
diff --git a/plugins/org.eclipse.jst.j2ee.ui/schema/archiveExportParticipantPanels.exsd b/plugins/org.eclipse.jst.j2ee.ui/schema/archiveExportParticipantPanels.exsd
deleted file mode 100644
index 3ab16a1..0000000
--- a/plugins/org.eclipse.jst.j2ee.ui/schema/archiveExportParticipantPanels.exsd
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jst.j2ee.ui">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jst.j2ee.ui" id="archiveExportParticipantPanels" name="Archive Export Participant Panels Extension Point"/>
-      </appInfo>
-      <documentation>
-         Used for supplying UI for the archive export participants registered via the &lt;code&gt;org.eclipse.jst.j2ee.archiveExportParticipants&lt;/code&gt; extension point.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="panel-factory" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="panel-factory">
-      <annotation>
-         <documentation>
-            Registers a single archive export participant.
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="archiveExportParticipantId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The id of the archive export participant that this panel factory should be registered with. Has to include plugin id.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The factory implementation class.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.jst.j2ee.ui.archive.IArchiveExportParticipantPanelFactory"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.jst.j2ee.ui.archiveExportParticipantPanels&quot;&gt;
-  &lt;panel-factory
-    archiveExportParticipantId=&quot;com.somecorp.MyExportParticipant&quot;
-    class=&quot;com.somecorp.MyPanelFactory&quot;/&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005, 2007 BEA Systems, Inc. and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.jst.j2ee/.classpath b/plugins/org.eclipse.jst.j2ee/.classpath
index 9c9e23f..df287d9 100644
--- a/plugins/org.eclipse.jst.j2ee/.classpath
+++ b/plugins/org.eclipse.jst.j2ee/.classpath
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="j2eeplugin"/>
+	<classpathentry kind="src" path="ltkbasedrefactoring"/>
 	<classpathentry kind="src" path="contenttype"/>
 	<classpathentry kind="src" path="common"/>
 	<classpathentry kind="src" path="commonedit"/>
diff --git a/plugins/org.eclipse.jst.j2ee/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.j2ee/META-INF/MANIFEST.MF
index eadfd90..aa08f85 100644
--- a/plugins/org.eclipse.jst.j2ee/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.j2ee/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.jst.j2ee; singleton:=true
-Bundle-Version: 1.1.201.qualifier
+Bundle-Version: 1.1.301.qualifier
 Bundle-Activator: org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin
 Bundle-Vendor: %Bundle-Vendor.0
 Bundle-Localization: plugin
@@ -49,7 +49,11 @@
  org.eclipse.jst.j2ee.project.facet,
  org.eclipse.jst.j2ee.refactor,
  org.eclipse.jst.j2ee.refactor.listeners,
- org.eclipse.jst.j2ee.refactor.operations
+ org.eclipse.jst.j2ee.refactor.operations,
+ org.eclipse.jst.javaee.ltk.core.change,
+ org.eclipse.jst.javaee.ltk.core.descriptor,
+ org.eclipse.jst.javaee.ltk.core.nls,
+ org.eclipse.jst.javaee.ltk.core.participant
 Require-Bundle: org.eclipse.emf.edit;bundle-version="[2.2.0,3.0.0)",
  org.eclipse.jem.workbench;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.jst.j2ee.core;bundle-version="[1.1.0,1.2.0)",
@@ -77,10 +81,11 @@
  org.eclipse.jst.common.project.facet.core;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.wst.xml.core;bundle-version="[1.1.0,1.2.0)",
  org.eclipse.wst.web;bundle-version="[1.1.0,1.2.0)",
- com.ibm.icu;bundle-version="[3.4.4,4.0.0)",
+ com.ibm.icu;bundle-version="[3.4.4,4.1.0)",
  org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.commands;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.core.filesystem;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.core.filesystem;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.ltk.core.refactoring;bundle-version="3.4.1"
 Eclipse-LazyStart: true
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/internal/creation/AppClientFacetProjectCreationDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/internal/creation/AppClientFacetProjectCreationDataModelProvider.java
index 4312433..1bf6a3a 100644
--- a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/internal/creation/AppClientFacetProjectCreationDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/applicationclient/internal/creation/AppClientFacetProjectCreationDataModelProvider.java
@@ -15,6 +15,8 @@
 
 import org.eclipse.jst.common.project.facet.IJavaFacetInstallDataModelProperties;
 import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPreferences.Keys;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEModuleFacetInstallDataModelProperties;
@@ -23,7 +25,6 @@
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
 import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.project.facet.ProductManager;
 
 public class AppClientFacetProjectCreationDataModelProvider extends J2EEFacetProjectCreationDataModelProvider {
 
@@ -44,9 +45,9 @@
 		IDataModel appClientFacet = map.getFacetDataModel(IJ2EEFacetConstants.APPLICATION_CLIENT_FACET.getId());
 		String appClientRoot = appClientFacet.getStringProperty(IJ2EEModuleFacetInstallDataModelProperties.CONFIG_FOLDER);
 		javaFacet.setProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME, appClientRoot);
-		// If using optimized single root structure, set the output folder to the content root
-		if (ProductManager.shouldUseSingleRootStructure())
-			javaFacet.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, appClientRoot);
+		javaFacet.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, 
+				J2EEPlugin.getDefault().getJ2EEPreferences().getString(Keys.APP_CLIENT_OUTPUT_FOLDER) );
+		
 		appClientFacet.addListener(new IDataModelListener() {
 			public void propertyChanged(DataModelEvent event) {
 				if (IJ2EEModuleFacetInstallDataModelProperties.EAR_PROJECT_NAME.equals(event.getPropertyName())) {
diff --git a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDataModelProvider.java
index 617fa4f..e36237c 100644
--- a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDataModelProvider.java
@@ -12,6 +12,8 @@
 
 import java.util.Set;
 
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
 import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
@@ -53,4 +55,20 @@
 	protected int convertFacetVersionToJ2EEVersion(IProjectFacetVersion version) {
 		return J2EEVersionUtil.convertAppClientVersionStringToJ2EEVersionID(version.getVersionString());
 	}
+	
+    public boolean propertySet(String propertyName, Object propertyValue) {
+        if (propertyName.equals(CONFIG_FOLDER)) 
+        {
+            if( this.javaFacetInstallConfig != null )
+            {
+                final IPath sourceFolder
+                    = propertyValue == null ? null : new Path( (String) propertyValue );
+                
+                this.javaFacetInstallConfig.setSourceFolder( sourceFolder );
+            }
+        }
+        
+        return super.propertySet(propertyName, propertyValue);
+    }
+
 }
diff --git a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDelegate.java b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDelegate.java
index acc45f4..dd892a7 100644
--- a/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee/appclientcreation/org/eclipse/jst/j2ee/project/facet/AppClientFacetInstallDelegate.java
@@ -98,7 +98,7 @@
 		final IWorkspace ws = ResourcesPlugin.getWorkspace();
 		final IPath pjpath = project.getFullPath();
 
-		final IVirtualComponent c = ComponentCore.createComponent(project);
+		final IVirtualComponent c = ComponentCore.createComponent(project, false);
 		c.create(0, null);
 		setOutputFolder(model, c);
 		final IVirtualFolder root = c.getRootFolder();
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJ2EEComponentCreationDataModelProperties.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJ2EEComponentCreationDataModelProperties.java
deleted file mode 100644
index 3771f15..0000000
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJ2EEComponentCreationDataModelProperties.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.datamodel.properties;
-
-import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetProjectCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
-
-
-
-/**
- * <p>
- * IJ2EEComponentCreationDataModelProperties provides properties to the 
- * J2EEComponentCreationDataModelProvider as well as all extending interfaces extending 
- * IJ2EEComponentCreationDataModelProperties 
- * @see org.eclipse.jst.j2ee.internal.archive.operations.J2EEComponentCreationDataModelProvider
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties
- * @see org.eclipse.jst.j2ee.datamodel.properties.IJavaComponentCreationDataModelProperties
- * @plannedfor 1.0
- */
-
-/**
- * This has been slated for removal post WTP 1.5. Do not use this class/interface
- * 
- * @deprecated
- * 
- * @see IJ2EEFacetProjectCreationDataModelProperties
- */
-public interface IJ2EEComponentCreationDataModelProperties extends IJavaComponentCreationDataModelProperties, DoNotUseMeThisWillBeDeletedPost15{
-
-	/**
-	 * Required, type Boolean, the default value is <code>Boolean.FALSE</code>.
-	 */
-	public static final String ADD_TO_EAR = "IJ2EEComponentCreationDataModelProperties.ADD_TO_EAR"; //$NON-NLS-1$
-	
-	public static final String MODULE_URI = "IJ2EEComponentCreationDataModelProperties.MODULE_URI"; //$NON-NLS-1$
-	/**
-	 * type String, this property needs to be set if the value of the property ADD_TO_EAR  is set to <code>Boolean.TRUE</code>
-	 */
-	public static final String EAR_COMPONENT_NAME = "IJ2EEComponentCreationDataModelProperties.EAR_COMPONENT_NAME"; //$NON-NLS-1$
-    /**
-     * type String, this property needs to be set if the value of the property ADD_TO_EAR  is set to <code>Boolean.TRUE</code>
-     */
-    public static final String EAR_COMPONENT_DEPLOY_NAME = "IJ2EEComponentCreationDataModelProperties.EAR_COMPONENT_DEPLOY_NAME"; //$NON-NLS-1$
-    /**
-     * type ComponentHandle, this property needs to be set if the value of the property ADD_TO_EAR  is set to <code>Boolean.TRUE</code>.  Represents
-     * a handle to the EAR
-     */
-    public static final String EAR_COMPONENT_PROJECT = "IJ2EEComponentCreationDataModelProperties.EAR_COMPONENT_PROJECT"; //$NON-NLS-1$
-    
-	/**
-	 * type Boolean; the default value is <code>Boolean.TRUE</code>, this is UI only property
-	 */
-	public static final String UI_SHOW_EAR_SECTION = "IJ2EEComponentCreationDataModelProperties.UI_SHOW_EAR_SECTION"; //$NON-NLS-1$
-	
-	/**
-	 * Optional, type String
-     * String indicates the name of the the folder where the deployment descriptor exists.
-     * Each J2EE componenr provider will default the Deployment descriptor folder.
-     * 
-	 */
-	
-	public static final String DD_FOLDER = "IJ2EEComponentCreationDataModelProperties.DD_FOLDER"; //$NON-NLS-1$
-
-    /**
-     * Required, type Integer. The user defined version of the component.
-     */
-    public static final String COMPONENT_VERSION = "IComponentCreationDataModelProperties.COMPONENT_VERSION"; //$NON-NLS-1$
-
-    /**
-     * type Integer
-     */
-    public static final String VALID_COMPONENT_VERSIONS_FOR_PROJECT_RUNTIME = "IComponentCreationDataModelProperties.VALID_COMPONENT_VERSIONS_FOR_PROJECT_RUNTIME"; //$NON-NLS-1$
-    /**
-     * type AddComponentToEnterpriseApplicationDataModel
-     */
-    public static final String NESTED_ADD_COMPONENT_TO_EAR_DM = "IComponentCreationDataModelProperties.NESTED_ADD_COMPONENT_TO_EAR_DM"; //$NON-NLS-1$
-    /**
-     * type EARComponentCreationDataModel
-     */
-    public static final String NESTED_EAR_COMPONENT_CREATION_DM = "IComponentCreationDataModelProperties.NESTED_EAR_COMPONENT_CREATION_DM"; //$NON-NLS-1$
-    /**
-     * type UpdateManifestDataModel
-     */
-    public static final String NESTED_UPDATE_MANIFEST_DM = "IComponentCreationDataModelProperties.NESTED_UPDATE_MANIFEST_DM"; //$NON-NLS-1$
-    /**
-     * type ClassPathSelection
-     */
-    public static final String CLASSPATH_SELECTION = "IComponentCreationDataModelProperties.CLASSPATH_SELECTION"; //$NON-NLS-1$
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJ2EEModuleImportDataModelProperties.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJ2EEModuleImportDataModelProperties.java
index 25c1ca9..5a7d2f7 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJ2EEModuleImportDataModelProperties.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJ2EEModuleImportDataModelProperties.java
@@ -10,9 +10,6 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.datamodel.properties;
 
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
-
-
 /**
  * <p>
  * IJ2EEModuleImportDataModelProperties provides properties to the IDataModel associated with the 
@@ -33,20 +30,6 @@
  */
 public interface IJ2EEModuleImportDataModelProperties extends IJ2EEComponentImportDataModelProperties {
     
-	/**
-	 * @deprecated use the {@link IJ2EEFacetProjectCreationDataModelProperties#EAR_PROJECT_NAME} on the nested project creation model
-	 * 
-	 * @see DoNotUseMeThisWillBeDeletedPost15
-	 */
-	public static final String EAR_COMPONENT_NAME = "IJ2EEModuleImportDataModelProperties.EAR_COMPONENT_NAME"; //$NON-NLS-1$
-    /**
-     * @deprecated use the {@link IJ2EEFacetProjectCreationDataModelProperties#ADD_TO_EAR} on the nested project creation model
-     * 
-     * @see DoNotUseMeThisWillBeDeletedPost15
-     */
-    public static final String ADD_TO_EAR = "IJ2EEModuleImportDataModelProperties.ADD_TO_EAR"; //$NON-NLS-1$
-	
 	public static final String EXTENDED_IMPORT_FACTORY = "IJ2EEModuleImportDataModelProperties.EXTENDED_IMPORT_FACTORY"; //$NON-NLS-1$
 
-
 }
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJavaComponentCreationDataModelProperties.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJavaComponentCreationDataModelProperties.java
deleted file mode 100644
index dd037fd..0000000
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/datamodel/properties/IJavaComponentCreationDataModelProperties.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.datamodel.properties;
-
-import org.eclipse.jst.common.project.facet.IJavaFacetInstallDataModelProperties;
-import org.eclipse.jst.j2ee.project.datamodel.properties.IJ2EEProjectServerTargetDataModelProperties;
-import org.eclipse.wst.common.componentcore.datamodel.properties.IComponentCreationDataModelProperties;
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
-
-/**
- * <p>
- * IJavaComponentCreationDataModelProperties provides properties to the 
- * JavaComponentCreationDataModelProvider as well as all extending interfaces extending 
- * IJavaComponentCreationDataModelProperties specifically, but not limited to all J2EE component related
- * creation.
- * @see org.eclipse.jst.j2ee.internal.archive.operations.JavaComponentCreationDataModelProvider
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- * 
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider
- * @see org.eclipse.wst.common.frameworks.datamodel.DataModelFactory
- * @see org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties
- * 
- * @plannedfor 1.0
- */
-
-/**
- * This has been slated for removal post WTP 1.5. Do not use this class/interface
- * 
- * @deprecated
- * 
- * @see IJavaFacetInstallDataModelProperties
- */
-public interface IJavaComponentCreationDataModelProperties extends IComponentCreationDataModelProperties, DoNotUseMeThisWillBeDeletedPost15 {
-	/**
-	 * Optional, type String
-     * String indicating the name of the the root Java Source Folder in the component being created.
-     * The DataModelProvider will default the Java Source Folder to the Component folder.
-     * 
-	 */
-	public static final String JAVASOURCE_FOLDER = "IJavaComponentCreationDataModelProperties.JAVASOURCE_FOLDER";
-    /**
-     * Optional, type String
-     * String indicating the name of the the root folder containing the Manifest.MF in the component being created.
-     * The DataModelProvider will default the Manifest folder to the Component folder/META-INF.
-     */
-	public static final String MANIFEST_FOLDER = "IJavaComponentCreationDataModelProperties.MANIFEST_FOLDER";
-	
-    /**
-     * Required, type String. This is used to specify the server target.
-     * 
-     */
-    public static final String RUNTIME_TARGET_ID = IJ2EEProjectServerTargetDataModelProperties.RUNTIME_TARGET_ID;	
-}
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ArchiveWrapper.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ArchiveWrapper.java
index 9d10f37..32f6cdb 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ArchiveWrapper.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ArchiveWrapper.java
@@ -272,22 +272,49 @@
 			return cachedEARModules;
 		}
 		if (archive != null) {
-			List<IArchiveResource> resources = archive.getArchiveResources();
-			for (IArchiveResource resource : resources) {
-				if (resource.getType() != IArchiveResource.DIRECTORY_TYPE) {
-					IPath path = resource.getPath();
-					if (path.segmentCount() > 0) {
-						String lastSegment = path.lastSegment();
-						if (lastSegment.endsWith("jar") || lastSegment.endsWith("zip") || lastSegment.endsWith("rar") || lastSegment.endsWith("war")) {
-							IArchive earmodule;
+			archive.getArchiveResources(); // need to force the full index to be built now.
+			if(jqp.getJavaEEVersion() == JavaEEQuickPeek.JEE_5_0_ID){
+				List<IArchiveResource> resources = archive.getArchiveResources();
+				for (IArchiveResource resource : resources) {
+					if (resource.getType() != IArchiveResource.DIRECTORY_TYPE) {
+						IPath path = resource.getPath();
+						if (path.segmentCount() > 0) {
+							String lastSegment = path.lastSegment();
+							if (lastSegment.endsWith("jar") || lastSegment.endsWith("zip") || lastSegment.endsWith("rar") || lastSegment.endsWith("war")) {
+								IArchive earmodule;
+								try {
+									earmodule = archive.getNestedArchive(resource);
+									cachedEARModules.add(new ArchiveWrapper(earmodule));
+								} catch (ArchiveOpenFailureException e) {
+									Logger.getLogger().logError(e);
+								}
+							}
+						}
+					}
+				}
+			} else {
+				try {
+					org.eclipse.jst.j2ee.application.Application app = (org.eclipse.jst.j2ee.application.Application)archive.getModelObject();
+					List modules = app.getModules();
+					for(int i=0;i<modules.size();i++){
+						org.eclipse.jst.j2ee.application.Module mod = (org.eclipse.jst.j2ee.application.Module)modules.get(i);
+						String uri = mod.getUri();
+						IPath path = new Path(uri);
+						if(archive.containsArchiveResource(path)){
 							try {
+								IArchiveResource resource = archive.getArchiveResource(path);
+								IArchive earmodule;
 								earmodule = archive.getNestedArchive(resource);
 								cachedEARModules.add(new ArchiveWrapper(earmodule));
 							} catch (ArchiveOpenFailureException e) {
 								Logger.getLogger().logError(e);
+							} catch (FileNotFoundException e) {
+								org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
 							}
 						}
 					}
+				} catch (ArchiveModelLoadException e) {
+					org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
 				}
 			}
 			return cachedEARModules;
@@ -551,7 +578,11 @@
 				if (lastSegment.endsWith(".jar") || lastSegment.endsWith(".rar") || lastSegment.endsWith(".war") || lastSegment.endsWith("zip")) {
 					IArchive nestedArchive;
 					try {
-						nestedArchive = archive.getNestedArchive(file);
+						if(file.getType() == IArchive.ARCHIVE_TYPE){
+							nestedArchive = (IArchive)file;
+						} else {
+							nestedArchive = archive.getNestedArchive(file);
+						}
 						ArchiveWrapper nestedWrapper = new ArchiveWrapper(nestedArchive);
 						if (nestedWrapper.isWARFile()) {
 							cachedEARUtilitiesAndWebLibs.addAll(nestedWrapper.getWebLibs());
@@ -570,4 +601,32 @@
 		return null;
 	}
 	
+	@Override
+	public boolean equals(Object otherObject) {
+		if(this == otherObject){
+			return true;
+		}
+		if(null == otherObject || !(otherObject instanceof ArchiveWrapper)){
+			return false;
+		}
+		ArchiveWrapper other = (ArchiveWrapper)otherObject;
+		
+		if(archive != null){
+			return archive.equals(other.archive);
+		} else if(commonArchive != null) {
+			return commonArchive.equals(other.commonArchive);
+		}
+		return false;
+	}
+	
+	@Override
+	public int hashCode() {
+		if(archive != null){
+			return archive.hashCode();
+		} else if(commonArchive != null){
+			return commonArchive.hashCode();
+		}
+		return super.hashCode();
+	}
+	
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveLoadAdapter.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveLoadAdapter.java
index f4a9e36..9ba6ef1 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveLoadAdapter.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveLoadAdapter.java
@@ -52,6 +52,7 @@
 import org.eclipse.jst.jee.archive.IArchiveLoadAdapter;
 import org.eclipse.jst.jee.archive.IArchiveResource;
 import org.eclipse.jst.jee.archive.internal.ArchiveURIConverter;
+import org.eclipse.jst.jee.archive.internal.ArchiveUtil;
 import org.eclipse.wst.common.componentcore.UnresolveableURIException;
 import org.eclipse.wst.common.componentcore.internal.ComponentResource;
 import org.eclipse.wst.common.componentcore.internal.DependencyType;
@@ -226,15 +227,68 @@
 	}
 
 	public IArchiveResource getArchiveResource(IPath resourcePath) throws FileNotFoundException {
-		initArchiveResources();
+		initArchiveResource(resourcePath);
 		return filesHolder.getArchiveResource(resourcePath);
 	}
 
 	public boolean containsArchiveResource(IPath path) {
-		initArchiveResources();
+		initArchiveResource(path);
 		return filesHolder.contains(path);
 	}
 
+	/**
+	 * Will lazily initialize File type ArchiveResources contained in the component structure without loading the entire
+	 * archive.  If the File can not be found, then the entire structure will be loaded.
+	 * @param resourcePath
+	 */
+	protected void initArchiveResource(IPath resourcePath) {
+		if(archiveResourcesInitialized) {
+			//if the entire archive has been initialized, there is no need to repeat
+			return;
+		}
+		if(filesHolder.contains(resourcePath)){
+			//if the archive already knows about the resource return
+			return;
+		}
+		initSourceRoots();
+		// want to be quick if possible, so only try to load from the component structure
+		// if the file is not present there, then look everywhere
+		IVirtualFolder rootFolder = vComponent.getRootFolder();
+		IVirtualFile vFile = rootFolder.getFile(resourcePath);
+		if (vFile.exists()) {
+			IPath runtimePath = vFile.getRuntimePath();
+			if (runtimePath != null){
+				runtimePath = runtimePath.setDevice(null).makeRelative();
+				if(runtimePath.equals(resourcePath)){
+					boolean inJavaSrc = inJavaSrc(vFile);
+					if(aggregateResource(vFile, runtimePath, inJavaSrc, IArchiveResource.FILE_TYPE) != null){
+						return; //found the file and added it
+					}
+				}								
+			}
+		}
+		//if it was not found above then do the full initialize
+		initArchiveResources();
+	}
+	
+	protected boolean sourceRootsInitialized = false;
+	
+	protected void initSourceRoots() {
+		if(!sourceRootsInitialized){
+			sourceRootsInitialized = true;
+			try {
+				IPackageFragmentRoot[] srcPkgs = J2EEProjectUtilities.getSourceContainers(vComponent.getProject());
+				sourceRoots = new IResource[srcPkgs.length];
+				for (int i = 0; i < srcPkgs.length; i++) {
+					sourceRoots[i] = srcPkgs[i].getCorrespondingResource();
+				}
+				inJavaSrc = false;
+			} catch (CoreException e) {
+				Logger.getLogger().logError(e);
+			}
+		}
+	}
+	
 	protected boolean archiveResourcesInitialized = false;
 
 	protected void initArchiveResources() {
@@ -247,7 +301,6 @@
 	}
 
 	public List<IArchiveResource> getArchiveResources() {
-
 		initArchiveResources();
 		return filesHolder.getFiles();
 	}
@@ -308,7 +361,7 @@
 				ZipFile zipFile;
 				IPath path = reference.getRuntimePath();
 				try {
-					zipFile = new ZipFile(diskFile);
+					zipFile = ArchiveUtil.newZipFile(diskFile);
 					zipFiles.add(zipFile);
 					Enumeration enumeration = zipFile.entries();
 					while (enumeration.hasMoreElements()) {
@@ -332,13 +385,9 @@
 
 	protected void aggregateSourceFiles() {
 		try {
+			initSourceRoots();
 			IVirtualFolder rootFolder = vComponent.getRootFolder();
 			IVirtualResource[] members = rootFolder.members();
-			IPackageFragmentRoot[] srcPkgs = J2EEProjectUtilities.getSourceContainers(vComponent.getProject());
-			sourceRoots = new IResource[srcPkgs.length];
-			for (int i = 0; i < srcPkgs.length; i++) {
-				sourceRoots[i] = srcPkgs[i].getCorrespondingResource();
-			}
 			inJavaSrc = false;
 			aggregateFiles(members);
 		} catch (CoreException e) {
@@ -457,24 +506,10 @@
 			if (filesHolder.contains(runtimePath))
 				continue;
 
-			IArchiveResource cFile = null;
-
 			if (virtualResources[i].getType() == IVirtualResource.FILE) {
-				if (!shouldInclude(runtimePath))
-					continue;
-				IResource resource = virtualResources[i].getUnderlyingResource();
-				// want to ignore derived resources nested within Java src
-				// directories; this covers the case where
-				// a user has nested a Java output directory within a Java src
-				// directory (note: should ideally be
-				// respecting Java src path exclusion filters)
-				if (inJavaSrc && resource.isDerived()) {
-					continue;
+				if(aggregateResource(virtualResources[i], runtimePath, inJavaSrc, IArchiveResource.FILE_TYPE) != null){
+					fileAdded = true;
 				}
-				cFile = createFile(runtimePath);
-				cFile.setLastModified(getLastModified(resource));
-				filesHolder.addFile(cFile, resource);
-				fileAdded = true;
 			} else if (shouldInclude((IVirtualContainer) virtualResources[i])) {
 				boolean inJavaSrcAtThisLevel = inJavaSrc;
 				try {
@@ -485,16 +520,9 @@
 					IVirtualResource[] nestedVirtualResources = ((IVirtualContainer) virtualResources[i]).members();
 					aggregateFiles(nestedVirtualResources);
 					if (!filesHolder.contains(runtimePath)) {
-						if (!shouldInclude(runtimePath))
-							continue;
-						IResource resource = virtualResources[i].getUnderlyingResource();
-						if (inJavaSrc && resource.isDerived()) {
-							continue;
+						if(aggregateResource(virtualResources[i], runtimePath, inJavaSrc, IArchiveResource.DIRECTORY_TYPE) != null){
+							fileAdded = true;
 						}
-						cFile = createDirectory(runtimePath);
-						cFile.setLastModified(getLastModified(resource));
-						filesHolder.addFile(cFile);
-						fileAdded = true;
 					}
 				} finally {
 					inJavaSrc = inJavaSrcAtThisLevel;
@@ -503,6 +531,36 @@
 		}
 		return fileAdded;
 	}
+	
+	protected IArchiveResource aggregateResource(IVirtualResource virtualResource, IPath runtimePath, boolean inJavaSrc, int archiveResourceType){
+		if (!shouldInclude(runtimePath)){
+			return null;
+		}
+		IResource resource = virtualResource.getUnderlyingResource();
+		// want to ignore derived resources nested within Java src
+		// directories; this covers the case where
+		// a user has nested a Java output directory within a Java src
+		// directory (note: should ideally be
+		// respecting Java src path exclusion filters)
+		if (inJavaSrc && resource.isDerived()) {
+			return null;
+		}
+		IArchiveResource cFile = null;
+		switch(archiveResourceType){
+		case IArchiveResource.FILE_TYPE:
+			cFile = createFile(runtimePath);
+			break;
+		case IArchiveResource.DIRECTORY_TYPE:
+			cFile = createDirectory(runtimePath);
+			break;
+		default:
+			return null;
+		}
+		
+		cFile.setLastModified(getLastModified(resource));
+		filesHolder.addFile(cFile, resource);
+		return cFile;
+	}
 
 	/**
 	 * Determines if the specified IVirtualResource maps to a IResource that is
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveSaveAdapter.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveSaveAdapter.java
index 07c1be8..801904d 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveSaveAdapter.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ComponentArchiveSaveAdapter.java
@@ -47,7 +47,6 @@
 import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
 
 // hari: make abstract
 public class ComponentArchiveSaveAdapter extends AbstractArchiveSaveAdapter {
@@ -205,7 +204,7 @@
 	 * @throws Exception
 	 */
 	protected void saveAsArchiveComponent(IArchive archive, IPath projectRelativePath, InputStream in) throws Exception {
-		IFile iFile = saveToOutputPathIFile(projectRelativePath, in);
+		IFile iFile = saveToOutputPath(projectRelativePath, in);
 		// TODO investigate removing this block and related variables and
 		// linkArchiveComponents(); see bugzilla 159160
 		if (shouldLinkAsComponentRef(archive)) {
@@ -248,15 +247,7 @@
 	 * @param in
 	 * @throws Exception
 	 */
-	protected void saveToOutputPath(IPath projectRelativePath, InputStream in) throws Exception {
-		saveToOutputPathIFile(projectRelativePath, in);
-	}
-
-	/**
-	 * TODO refactor change the method above to return IFile
-	 * {@link DoNotUseMeThisWillBeDeletedPost15}
-	 */
-	protected IFile saveToOutputPathIFile(IPath projectRelativePath, InputStream in) throws Exception {
+	protected IFile saveToOutputPath(IPath projectRelativePath, InputStream in) throws Exception {
 		IFile iFile = vComponent.getProject().getFile(projectRelativePath);
 		saveToIFile(iFile, in);
 		return iFile;
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ConnectorComponentArchiveLoadAdapter.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ConnectorComponentArchiveLoadAdapter.java
index e402ef3..b128e08 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ConnectorComponentArchiveLoadAdapter.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/ConnectorComponentArchiveLoadAdapter.java
@@ -138,10 +138,15 @@
 			// TODO
 			// throw new ArchiveRuntimeException(core);
 		}
+		
+		IContainer ddFolder = vComponent.getRootFolder().getFolder(J2EEConstants.META_INF).getUnderlyingFolder();
+
 		for (int i = 0; i < members.length; i++) {
 			IResource res = members[i];
 			if (res.getType() == IResource.FOLDER) {
-				foundJava = gatherFilesForJAR(iFiles, (IFolder) res, isModuleRoot, foundJava, sourceContainerSegmentCount) || foundJava;
+				if (!ddFolder.equals(res)) {//if it's not the dd folder
+					foundJava = gatherFilesForJAR(iFiles, (IFolder) res, isModuleRoot, foundJava, sourceContainerSegmentCount) || foundJava;
+				}
 			} else {// it must be a file
 				IFile srcFile = (IFile) res;
 				if (belongsInNestedJAR(srcFile, isModuleRoot)) {
@@ -287,7 +292,7 @@
 	}
 	
 	protected boolean shouldInclude(IVirtualContainer vContainer) {
-		boolean isDDFolder = vContainer.getProjectRelativePath().isPrefixOf(knownDD.getProjectRelativePath());
+		boolean isDDFolder = vComponent.getRootFolder().getFolder(J2EEConstants.META_INF).equals(vContainer);
 		return isDDFolder || !inJavaSrc(vContainer);
 	}
 	
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/EARComponentArchiveLoadAdapter.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/EARComponentArchiveLoadAdapter.java
index ed21e10..ded4413 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/EARComponentArchiveLoadAdapter.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/EARComponentArchiveLoadAdapter.java
@@ -8,6 +8,7 @@
  * Contributors:
  * IBM Corporation - initial API and implementation
  * Stefan Dimov, stefan.dimov@sap.com - bug 207826
+ * Kaloyan Raev, kaloyan.raev@sap.com - bug 220912
  *******************************************************************************/
 package org.eclipse.jst.j2ee.internal.archive;
 
@@ -30,6 +31,7 @@
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.jee.archive.ArchiveOpenFailureException;
 import org.eclipse.jst.jee.archive.IArchive;
+import org.eclipse.jst.jee.archive.IArchiveLoadAdapter;
 import org.eclipse.jst.jee.archive.IArchiveResource;
 import org.eclipse.jst.jee.archive.internal.ArchiveUtil;
 import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
@@ -75,7 +77,9 @@
 		for (int i = 0; i < components.length; i++) {
 			IVirtualReference reference = components[i];
 			IVirtualComponent referencedComponent = reference.getReferencedComponent();
-
+			if(vComponent.equals(referencedComponent)){
+				continue;
+			}
 			try {
 				IArchive nestedModuleArchive = JavaEEArchiveUtilities.INSTANCE.openArchive(referencedComponent);
 				String sPath = reference.getArchiveName();
@@ -96,6 +100,14 @@
 					}
 					binaryResourcesToDiskFiles.put(nestedModuleArchive, diskFile);
 				} else {
+					// Bug 220912 - set "export source" flag before calling JavaEEQuickPeek
+					if (nestedModuleArchive.getType() == IArchive.ARCHIVE_TYPE) {
+						IArchiveLoadAdapter nestedLoadAdapter = (IArchiveLoadAdapter)((IArchive)nestedModuleArchive).getLoadAdapter();
+						if(nestedLoadAdapter instanceof ComponentArchiveLoadAdapter){
+							((ComponentArchiveLoadAdapter)nestedLoadAdapter).setExportSource(isExportSource());
+						}
+					}
+					
 					JavaEEQuickPeek quickPeek = JavaEEArchiveUtilities.INSTANCE.getJavaEEQuickPeek(nestedModuleArchive);
 					switch (quickPeek.getType()) {
 					case JavaEEQuickPeek.CONNECTOR_TYPE:
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEArchiveUtilities.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEArchiveUtilities.java
index 026df67..2740e02 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEArchiveUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEArchiveUtilities.java
@@ -79,6 +79,19 @@
 	 * specified IArchive is an EJB 3.0 jar.
 	 */
 	public static final String DISCRIMINATE_EJB_ANNOTATIONS = "DISCRIMINATE_EJB_ANNOTATIONS"; //$NON-NLS-1$
+	
+	/**
+	 * Default value = Boolean.TRUE Valid values = Boolean.TRUE or Boolean.FALSE
+	 * 
+	 * An ArchiveOption used to specify whether
+	 * {@link #openArchive(ArchiveOptions)} should attempt to fully discriminate
+	 * a JAR file from an Application Client JAR file. This option is only relevant 
+	 * if the {@link #DISCRIMINATE_JAVA_EE} option is also set to Boolean.TRUE. If 
+	 * both options are set to true then as a last resort the MANIFEST.MF
+	 * will be analyzed for a Main-Class entry in order to discriminate whether the
+	 * specified IArchive is an Application Client jar.
+	 */
+	public static final String DISCRIMINATE_MAIN_CLASS = "DISCRIMINATE_MAIN_CLASS"; //$NON-NLS-1$
 
 	/**
 	 * Default value = null
@@ -117,36 +130,7 @@
 
 	public IArchive openArchive(IVirtualComponent virtualComponent) throws ArchiveOpenFailureException {
 		if (virtualComponent.isBinary()) {
-			J2EEModuleVirtualArchiveComponent archiveComponent = (J2EEModuleVirtualArchiveComponent) virtualComponent;
-			JavaEEBinaryComponentLoadAdapter loadAdapter = new JavaEEBinaryComponentLoadAdapter(archiveComponent);
-			ArchiveOptions archiveOptions = new ArchiveOptions();
-			archiveOptions.setOption(ArchiveOptions.LOAD_ADAPTER, loadAdapter);
-			archiveOptions.setOption(ArchiveOptions.ARCHIVE_PATH, loadAdapter.getArchivePath());
-			IArchive parentEARArchive = null;
-			try {
-				if(archiveComponent.isLinkedToEAR()){
-					try {
-						IProject earProject = virtualComponent.getProject();
-						if(earProject != null && EarUtilities.isEARProject(earProject)){
-							IVirtualComponent earComponent = ComponentCore.createComponent(virtualComponent.getProject());
-							if(earComponent != null) {
-								parentEARArchive = openArchive(earComponent);
-								if(parentEARArchive != null) {
-									archiveOptions.setOption(ArchiveOptions.PARENT_ARCHIVE, parentEARArchive);
-								}
-							}
-						}
-					} catch(ArchiveOpenFailureException e) {
-						org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
-					}
-				}
-				return openArchive(archiveOptions);
-			} finally {
-				if(parentEARArchive != null){
-					archiveOptions.removeOption(ArchiveOptions.PARENT_ARCHIVE);
-					closeArchive(parentEARArchive);
-				}
-			}
+			return openBinaryArchive(virtualComponent, true);
 		}
 		int type = J2EEVersionConstants.UNKNOWN;
 		IArchiveLoadAdapter archiveLoadAdapter = null;
@@ -231,6 +215,40 @@
 		return null;
 	}
 
+	public IArchive openBinaryArchive(IVirtualComponent virtualComponent, boolean descriminateMainClass) throws ArchiveOpenFailureException {
+		J2EEModuleVirtualArchiveComponent archiveComponent = (J2EEModuleVirtualArchiveComponent) virtualComponent;
+		JavaEEBinaryComponentLoadAdapter loadAdapter = new JavaEEBinaryComponentLoadAdapter(archiveComponent);
+		ArchiveOptions archiveOptions = new ArchiveOptions();
+		archiveOptions.setOption(ArchiveOptions.LOAD_ADAPTER, loadAdapter);
+		archiveOptions.setOption(ArchiveOptions.ARCHIVE_PATH, loadAdapter.getArchivePath());
+		archiveOptions.setOption(DISCRIMINATE_MAIN_CLASS, descriminateMainClass);
+		IArchive parentEARArchive = null;
+		try {
+			if(archiveComponent.isLinkedToEAR()){
+				try {
+					IProject earProject = virtualComponent.getProject();
+					if(earProject != null && EarUtilities.isEARProject(earProject)){
+						IVirtualComponent earComponent = ComponentCore.createComponent(virtualComponent.getProject());
+						if(earComponent != null) {
+							parentEARArchive = openArchive(earComponent);
+							if(parentEARArchive != null) {
+								archiveOptions.setOption(ArchiveOptions.PARENT_ARCHIVE, parentEARArchive);
+							}
+						}
+					}
+				} catch(ArchiveOpenFailureException e) {
+					org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
+				}
+			}
+			return openArchive(archiveOptions);
+		} finally {
+			if (parentEARArchive != null){
+				archiveOptions.removeOption(ArchiveOptions.PARENT_ARCHIVE);
+				closeArchive(parentEARArchive);
+			}
+		}
+	}
+
 	private Map<IArchive, JavaEEQuickPeek> archiveToJavaEEQuickPeek = new WeakHashMap<IArchive, JavaEEQuickPeek>();
 
 	/**
@@ -463,31 +481,34 @@
 				wrapArchive(simpleArchive, new Path(J2EEConstants.WEBAPP_DD_URI));
 				return simpleArchive;
 			} else if (lastSegment.endsWith(DOT_JAR)) {
-				IPath manifestPath = new Path(J2EEConstants.MANIFEST_URI);
-				if (simpleArchive.containsArchiveResource(manifestPath)) {
-					InputStream in = null;
-					try {
-						IArchiveResource manifestResource = simpleArchive.getArchiveResource(manifestPath);
-						in = manifestResource.getInputStream();
-						Manifest manifest = new Manifest(in);
-						Attributes attributes = manifest.getMainAttributes();
-						String mainClassName = attributes.getValue("Main-Class");
-						if (mainClassName != null) {
-							JavaEEQuickPeek quickPeek = new JavaEEQuickPeek(JavaEEQuickPeek.APPLICATION_CLIENT_TYPE, JavaEEQuickPeek.JEE_5_0_ID, JavaEEQuickPeek.JEE_5_0_ID);
-							archiveToJavaEEQuickPeek.put(simpleArchive, quickPeek);
-							wrapArchive(simpleArchive, new Path(J2EEConstants.APPLICATION_DD_URI));
-							return simpleArchive;
-						}
-					} catch (FileNotFoundException e) {
-						ArchiveUtil.warn(e);
-					} catch (IOException e) {
-						ArchiveUtil.warn(e);
-					} finally {
-						if (in != null) {
-							try {
-								in.close();
-							} catch (IOException e) {
-								ArchiveUtil.warn(e);
+				Object discriminateMainClass = simpleArchive.getArchiveOptions().getOption(DISCRIMINATE_MAIN_CLASS);
+				if (null == discriminateMainClass || ((Boolean) discriminateMainClass).booleanValue()) {
+					IPath manifestPath = new Path(J2EEConstants.MANIFEST_URI);
+					if (simpleArchive.containsArchiveResource(manifestPath)) {
+						InputStream in = null;
+						try {
+							IArchiveResource manifestResource = simpleArchive.getArchiveResource(manifestPath);
+							in = manifestResource.getInputStream();
+							Manifest manifest = new Manifest(in);
+							Attributes attributes = manifest.getMainAttributes();
+							String mainClassName = attributes.getValue("Main-Class");
+							if (mainClassName != null) {
+								JavaEEQuickPeek quickPeek = new JavaEEQuickPeek(JavaEEQuickPeek.APPLICATION_CLIENT_TYPE, JavaEEQuickPeek.JEE_5_0_ID, JavaEEQuickPeek.JEE_5_0_ID);
+								archiveToJavaEEQuickPeek.put(simpleArchive, quickPeek);
+								wrapArchive(simpleArchive, new Path(J2EEConstants.APPLICATION_DD_URI));
+								return simpleArchive;
+							}
+						} catch (FileNotFoundException e) {
+							ArchiveUtil.warn(e);
+						} catch (IOException e) {
+							ArchiveUtil.warn(e);
+						} finally {
+							if (in != null) {
+								try {
+									in.close();
+								} catch (IOException e) {
+									ArchiveUtil.warn(e);
+								}
 							}
 						}
 					}
@@ -644,10 +665,7 @@
 		}
 
 		public String toString() {
-			StringBuffer buffer = new StringBuffer(JavaEEArchiveUtilities.class.getName());
-			buffer.append(" wrapping: ");
-			buffer.append(simpleLoadAdapter.toString());
-			return buffer.toString();
+			return simpleLoadAdapter.toString();
 		}
 
 	};
@@ -684,16 +702,19 @@
 					try {
 						ioStream = archiveResource.getInputStream();
 						IClassFileReader classFileReader = ToolFactory.createDefaultClassFileReader(ioStream, IClassFileReader.CLASSFILE_ATTRIBUTES);
-						IClassFileAttribute[] attributes = classFileReader.getAttributes();
-						for (IClassFileAttribute attribute : attributes) {
-							char[] attributeName = attribute.getAttributeName();
-							if (Arrays.equals(attributeName, RUNTIME_VISIBLE)) {
-								IRuntimeVisibleAnnotationsAttribute annotationsAttribute = (IRuntimeVisibleAnnotationsAttribute) attribute;
-								IAnnotation[] annotations = annotationsAttribute.getAnnotations();
-								for (IAnnotation annotation : annotations) {
-									char[] typedName = annotation.getTypeName();
-									if (Arrays.equals(typedName, STATELESS) || Arrays.equals(typedName, STATEFUL) || Arrays.equals(typedName, MESSAGEDRIVEN)) {
-										return true;
+						//classFileReader will be null if this is an invalid java .class file
+						if(classFileReader != null){
+							IClassFileAttribute[] attributes = classFileReader.getAttributes();
+							for (IClassFileAttribute attribute : attributes) {
+								char[] attributeName = attribute.getAttributeName();
+								if (Arrays.equals(attributeName, RUNTIME_VISIBLE)) {
+									IRuntimeVisibleAnnotationsAttribute annotationsAttribute = (IRuntimeVisibleAnnotationsAttribute) attribute;
+									IAnnotation[] annotations = annotationsAttribute.getAnnotations();
+									for (IAnnotation annotation : annotations) {
+										char[] typedName = annotation.getTypeName();
+										if (Arrays.equals(typedName, STATELESS) || Arrays.equals(typedName, STATEFUL) || Arrays.equals(typedName, MESSAGEDRIVEN)) {
+											return true;
+										}
 									}
 								}
 							}
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEEMFArchiveAdapterHelper.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEEMFArchiveAdapterHelper.java
index 3ae1139..a8d125b 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEEMFArchiveAdapterHelper.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/JavaEEEMFArchiveAdapterHelper.java
@@ -127,12 +127,6 @@
 		return resource.getRootObject();
 	}
 
-	// public Object getModelObject(IPath modelObjectPath) throws
-	// ArchiveModelLoadException {
-	// URI uri = getArchiveURIConverter().getURI(modelObjectPath);
-	// return getResourceSet().getResource(uri, true);
-	// }
-
 	public ResourceSet getResourceSet() {
 		if (resourceSet == null) {
 			initializeResourceSet();
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/WebComponentArchiveSaveAdapter.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/WebComponentArchiveSaveAdapter.java
index c1531f5..da24179 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/WebComponentArchiveSaveAdapter.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/WebComponentArchiveSaveAdapter.java
@@ -54,6 +54,16 @@
 			IFile iFile = vFile.getUnderlyingFile();
 			return iFile.getProjectRelativePath();
 		}
+		if (endsWithClassType(aFile.getPath().lastSegment())) {
+			IPath relativePath = aFile.getPath().makeRelative();
+			if (!IMPORTED_CLASSES_PATH.isPrefixOf(relativePath))
+			{
+				IVirtualFolder rootFolder = vComponent.getRootFolder();
+				IVirtualFile vFile = rootFolder.getFile(relativePath);
+				IFile iFile = vFile.getUnderlyingFile();
+				return iFile.getProjectRelativePath();
+			}
+		}
 		return super.getProjectRelativePath(aFile);
 	}
 
@@ -75,7 +85,7 @@
 		String jspUri = javaUri.substring(0, javaUri.indexOf(ArchiveUtil.DOT_JAVA));
 		int lastSlash = jspUri.lastIndexOf('/');
 		int _index = lastSlash == -1 ? ArchiveConstants.WEBAPP_CLASSES_URI.length() : lastSlash + 1;
-		if (jspUri.charAt(_index) == '_') {
+		if (jspUri.length() >= _index && jspUri.charAt(_index) == '_') {
 			jspUri = jspUri.substring(ArchiveConstants.WEBAPP_CLASSES_URI.length(), _index) + jspUri.substring(_index + 1) + ArchiveUtil.DOT_JSP;
 			IPath jspPath = new Path(jspUri);
 			if (archive.containsArchiveResource(jspPath)) {
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/AppClientComponentExportOperation.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/AppClientComponentExportOperation.java
index 571c5f7..8ad0a35 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/AppClientComponentExportOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/AppClientComponentExportOperation.java
@@ -31,6 +31,9 @@
 		super(model);
 	}
 
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	public void export() throws SaveFailureException, CoreException, InvocationTargetException, InterruptedException {
 		IProgressMonitor subMonitor = new SubProgressMonitor(progressMonitor, EXPORT_WORK);
 		IArchive archiveFromComponent = null;
@@ -58,6 +61,9 @@
 		}
 	}
 
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	protected String archiveString() {
 		return AppClientArchiveOpsResourceHandler.Application_Client_File_UI_; 
 	}
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java
index 462461d..840f27c 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java
@@ -54,6 +54,7 @@
 import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
 import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent;
 import org.eclipse.jst.j2ee.internal.J2EEConstants;
+import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyEnablement;
 import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyManifestUtil;
 import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyVirtualComponent;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
@@ -208,7 +209,7 @@
 		filesHolder = new FilesHolder();
 		exception = new Exception();
 		this.includeClasspathComponents = includeClasspathComponents;
-		if (includeClasspathComponents) {
+		if (includeClasspathComponents && ClasspathDependencyEnablement.isAllowClasspathComponentDependency()) {
 			this.manifestFile = vComponent.getRootFolder().getFile(new Path(J2EEConstants.MANIFEST_URI));
 			saveJavaClasspathReferences();
 		}
@@ -289,7 +290,7 @@
 				ZipFile zipFile;
 				IPath path = reference.getRuntimePath();
 				try {
-					zipFile = new ZipFile(diskFile);
+					zipFile = org.eclipse.jst.jee.archive.internal.ArchiveUtil.newZipFile(diskFile);
 					zipFiles.add(zipFile);
 					Enumeration enumeration = zipFile.entries();
 					while (enumeration.hasMoreElements()) {
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java
index 117c4d6..f6ff762 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentSaveStrategyImpl.java
@@ -45,7 +45,6 @@
 import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.frameworks.internal.DoNotUseMeThisWillBeDeletedPost15;
 
 public abstract class ComponentSaveStrategyImpl extends SaveStrategyImpl {
 
@@ -197,7 +196,7 @@
 	 * @throws Exception
 	 */
 	protected void saveAsArchiveComponent(Archive archive, IPath projectRelativePath, InputStream in) throws Exception {
-		IFile iFile = saveToOutputPathIFile(projectRelativePath, in);
+		IFile iFile = saveToOutputPath(projectRelativePath, in);
 		//TODO investigate removing this block and related variables and linkArchiveComponents(); see bugzilla 159160
 		if (shouldLinkAsComponentRef(archive)) {
 			IVirtualComponent archiveComponent = ComponentCore.createArchiveComponent(vComponent.getProject(), VirtualArchiveComponent.LIBARCHIVETYPE + iFile.getFullPath().toString());
@@ -235,28 +234,18 @@
 	}
 
 	/**
-	 * Saves to the specified project relative output path. Warning this method
-	 * will be changed post 1.5 to return an IFile
+	 * Saves to the specified project relative output path.
 	 * 
 	 * @param projectRelativePath
 	 * @param in
 	 * @throws Exception
 	 */
-	protected void saveToOutputPath(IPath projectRelativePath, InputStream in) throws Exception {
-		saveToOutputPathIFile(projectRelativePath, in);
-	}
-
-	/**
-	 * TODO refactor change the method above to return IFile
-	 * {@link DoNotUseMeThisWillBeDeletedPost15}
-	 */
-	protected IFile saveToOutputPathIFile(IPath projectRelativePath, InputStream in) throws Exception {
+	protected IFile saveToOutputPath(IPath projectRelativePath, InputStream in) throws Exception {
 		IFile iFile = vComponent.getProject().getFile(projectRelativePath);
 		saveToIFile(iFile, in);
 		return iFile;
 	}
 
-
 	protected void saveToIFile(IFile iFile, InputStream in) throws Exception {
 		validateEdit(iFile);
 		if (iFile.exists())
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentExportOperation.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentExportOperation.java
index e3f94a1..90a6846 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentExportOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentExportOperation.java
@@ -17,11 +17,11 @@
 import org.eclipse.core.runtime.SubProgressMonitor;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
-import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
+import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.archive.JavaEEArchiveUtilities;
+import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.jee.archive.IArchive;
-import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
 import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
@@ -33,19 +33,23 @@
 		super(model);
 	}
 
-	protected void export() throws SaveFailureException, CoreException, InvocationTargetException, InterruptedException {
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
+    protected void export() throws SaveFailureException, CoreException, InvocationTargetException, InterruptedException {
 		IProgressMonitor subMonitor = new SubProgressMonitor(progressMonitor, EXPORT_WORK);
 		IArchive archiveFromComponent = null;
 		try {
-			archiveFromComponent = JavaEEArchiveUtilities.INSTANCE.openArchive(getComponent());
-			JavaEEQuickPeek quickPeek = JavaEEArchiveUtilities.INSTANCE.getJavaEEQuickPeek(archiveFromComponent);
-			if (quickPeek.getJavaEEVersion() == J2EEConstants.JEE_5_0_ID) {
+			//[Bug 244049] need to use ProjectFacet version to determine how to export the EAR
+			String versionStr = J2EEProjectUtilities.getJ2EEProjectVersion(getComponent().getProject());
+			if (versionStr.equals(J2EEVersionConstants.VERSION_5_0_TEXT)) {
+				archiveFromComponent = JavaEEArchiveUtilities.INSTANCE.openArchive(getComponent());
 				saveArchive(archiveFromComponent, getDestinationPath().toOSString(), subMonitor);
 			} else {
-				EnterpriseArtifactEdit artifactEdit = null;
+				EARArtifactEdit artifactEdit = null;
 				try {
-					artifactEdit = (EnterpriseArtifactEdit) ComponentUtilities.getArtifactEditForRead(getComponent());
-					EARFile archive = (EARFile) artifactEdit.asArchive(isExportSource());
+					artifactEdit = (EARArtifactEdit) ComponentUtilities.getArtifactEditForRead(getComponent());
+					EARFile archive = (EARFile) artifactEdit.asArchive(isExportSource(), true, true);
 					String destination = getDestinationPath().toOSString();
 					archive.setURI(destination);
 					setModuleFile(archive);
@@ -85,6 +89,9 @@
 		}
 	}
 
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	protected String archiveString() {
 		return "EAR";
 	}
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentLoadStrategyImpl.java
index be8d7e5..44047f9 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentLoadStrategyImpl.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/EARComponentLoadStrategyImpl.java
@@ -46,6 +46,7 @@
 public class EARComponentLoadStrategyImpl extends ComponentLoadStrategyImpl {
 
 	private List artifactEditsToDispose = new ArrayList();
+	private List <Archive> archivesToClose = new ArrayList<Archive>();
 	private Map binaryComponentURIsToDiskFileMap = new HashMap();
 
 	public EARComponentLoadStrategyImpl(IVirtualComponent vComponent) {
@@ -96,7 +97,9 @@
 					diskFile = ((VirtualArchiveComponent) referencedComponent).getUnderlyingDiskFile();
 					if (!diskFile.exists()) {
 						IFile wbFile = ((VirtualArchiveComponent) referencedComponent).getUnderlyingWorkbenchFile();
-						diskFile = new File(wbFile.getLocation().toOSString());
+						if (wbFile != null && wbFile.exists()) {
+							diskFile = new File(wbFile.getLocation().toOSString());
+						}
 					}
 				}
 				boolean isModule = false;
@@ -129,6 +132,7 @@
 							if (addClasspathComponentDependencies) {
 								addClasspathComponentDependencies(referencedComponent);
 							}
+							archivesToClose.add(archive);
 						}
 					} catch (OpenFailureException oe) {
 						Logger.getLogger().logError(oe);
@@ -198,6 +202,10 @@
 			edit.dispose();
 		}
 		artifactEditsToDispose.clear();
+		for(Archive archive:archivesToClose){
+			archive.close();
+		}
+		archivesToClose.clear();
 	}
 
 	public ZipFileLoadStrategyImpl createLoadStrategy(String uri) throws FileNotFoundException, IOException {
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEArtifactExportOperation.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEArtifactExportOperation.java
index 8c0e3ac..24b640d 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEArtifactExportOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/J2EEArtifactExportOperation.java
@@ -63,6 +63,9 @@
 	protected IProgressMonitor progressMonitor;
 	private IVirtualComponent component;
 	private IPath destinationPath;
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	private ModuleFile moduleFile;
 	private boolean exportSource = false;
 
@@ -151,8 +154,14 @@
 		return OK_STATUS;
 	}
 
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	protected abstract void export() throws SaveFailureException, CoreException, InvocationTargetException, InterruptedException;
 
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	protected abstract String archiveString();
 
 	protected void setProgressMonitor(IProgressMonitor newProgressMonitor) {
@@ -189,10 +198,16 @@
 		exportSource = newExportSource;
 	}
 
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	protected ModuleFile getModuleFile() {
 		return moduleFile;
 	}
 
+	/**
+	 * @deprecated this will be removed post 3.1 with bug 268201
+	 */
 	protected void setModuleFile(ModuleFile newModuleFile) {
 		moduleFile = newModuleFile;
 	}
diff --git a/plugins/org.eclipse.jst.j2ee/build.properties b/plugins/org.eclipse.jst.j2ee/build.properties
index 04f4569..defa40b 100644
--- a/plugins/org.eclipse.jst.j2ee/build.properties
+++ b/plugins/org.eclipse.jst.j2ee/build.properties
@@ -16,7 +16,8 @@
                .,\
                META-INF/,\
                about.html,\
-               license/
+               license/,\
+               preferences.ini
 source.. = j2eeplugin/,\
            common/,\
            commonedit/,\
@@ -28,7 +29,8 @@
            property_files/,\
            refactor/,\
            classpathdep/,\
-           contenttype/
+           contenttype/,\
+           ltkbasedrefactoring/
 jars.compile.order = .
 src.includes = rose/,\
                schema/,\
diff --git a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/classpathdep/ClasspathDependencyUtil.java b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/classpathdep/ClasspathDependencyUtil.java
index 581db22..871e7c8 100644
--- a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/classpathdep/ClasspathDependencyUtil.java
+++ b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/classpathdep/ClasspathDependencyUtil.java
@@ -31,9 +31,21 @@
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.common.jdt.internal.javalite.IJavaProjectLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaCoreLite;
+import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyEnablement;
 import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;
 import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyVirtualComponent;
 import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator.ClasspathDependencyValidatorData;
+import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.j2ee.project.EarUtilities;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
+import org.eclipse.jst.j2ee.project.WebUtilities;
+import org.eclipse.jst.javaee.application.Application;
+import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -55,80 +67,198 @@
 	 * @return
 	 * @throws CoreException
 	 */
-	public static Map getRawComponentClasspathDependencies(final IJavaProject javaProject) throws CoreException {
+	@Deprecated
+	public static Map <IClasspathEntry, IClasspathAttribute> getRawComponentClasspathDependencies(final IJavaProject javaProject) throws CoreException {
 		return getRawComponentClasspathDependencies(javaProject, DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY);
 	}
 	
 	/**
+	 * @deprecated use {@link #getRawComponentClasspathDependencies(IJavaProjectLite, org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants.DependencyAttributeType)}
+	 * @param javaProject
+	 * @param attributeType
+	 * @return
+	 * @throws CoreException
+	 */
+	@Deprecated
+	public static Map <IClasspathEntry, IClasspathAttribute> getRawComponentClasspathDependencies(final IJavaProject javaProject, DependencyAttributeType attributeType) throws CoreException {
+		return getRawComponentClasspathDependencies(JavaCoreLite.create(javaProject), attributeType);
+	}
+	/**
 	 * Returns all unresolved classpath entries for the specified Java project that
 	 * have the special WTP classpath component dependency attribute.
 	 *  
-	 * @param javaProject Java project whose component classpath dependencies are being retrieved.
+	 * @param javaProjectLite Java project whose component classpath dependencies are being retrieved.
 	 * @parem attributeType the attribute to search for
 	 * @return Map from IClasspathEntry to IClasspathAttribute for classpath component dependency.
 	 * @return IClasspathEntries with the special component dependency attribute.
 	 * @throws CoreException Thrown if an error is encountered accessing the unresolved classpath.
 	 */
-	public static Map getRawComponentClasspathDependencies(final IJavaProject javaProject, DependencyAttributeType attributeType) throws CoreException {
-		if (javaProject == null) {
-			return Collections.EMPTY_MAP;
+	public static Map <IClasspathEntry, IClasspathAttribute> getRawComponentClasspathDependencies(final IJavaProjectLite javaProjectLite, DependencyAttributeType attributeType) throws CoreException {
+		return getRawComponentClasspathDependencies(javaProjectLite, attributeType, false);
+	}
+	public static Map <IClasspathEntry, IClasspathAttribute> getRawComponentClasspathDependencies(final IJavaProjectLite javaProjectLite, DependencyAttributeType attributeType, final boolean webLibsOnly) throws CoreException {
+		if (javaProjectLite == null || (!webLibsOnly && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency())) {
+			return Collections.emptyMap();
 		}
-		final Map referencedRawEntries = new HashMap();
-		final IClasspathEntry[] entries = javaProject.getRawClasspath();
-        for (int i = 0; i < entries.length; i++) {
-            final IClasspathEntry entry = entries[i];
-            final IClasspathAttribute attrib = checkForComponentDependencyAttribute(entry, attributeType);
+		final Map<IClasspathEntry, IClasspathAttribute> referencedRawEntries = new HashMap<IClasspathEntry, IClasspathAttribute>();
+		final IClasspathEntry[] entries = javaProjectLite.readRawClasspath();
+        for (IClasspathEntry entry : entries) {
+            final IClasspathAttribute attrib = checkForComponentDependencyAttribute(entry, attributeType, webLibsOnly);
             if (attrib != null) {
-            	referencedRawEntries.put(entry, attrib);
+            	if(webLibsOnly) {
+            		if(DependencyAttributeType.CLASSPATH_COMPONENT_NONDEPENDENCY == attributeType || WebUtilities.WEBLIB.toString().equals(attrib.getValue())){
+            			referencedRawEntries.put(entry, attrib);
+            		}
+            	} else{
+            		referencedRawEntries.put(entry, attrib);
+            	}
+            	
             }
         }
         return referencedRawEntries;
 	}
 	
 	/**
+	 * @deprecated use {@link #getPotentialComponentClasspathDependencies(IJavaProjectLite)}
+	 * @param javaProject
+	 * @return
+	 * @throws CoreException
+	 */
+	@Deprecated
+	public static List <IClasspathEntry> getPotentialComponentClasspathDependencies(final IJavaProject javaProject) throws CoreException {
+		return getPotentialComponentClasspathDependencies(JavaCoreLite.create(javaProject));
+	}
+	
+	/**
 	 * Retrieves the unresolved classpath entries for the specified Java project that
 	 * could potentially be mapped into the virtual component tree for the project via
 	 * the special WTP classpath component dependence attribute. Classpath entries that
 	 * currently have the attribute are not returned by this method (@see {@link #getRawComponentClasspathDependencies(IJavaProject, boolean)})
 	 * 
-	 * @param javaProject Java project whose potential component classpath dependencies will be retrieved.
+	 * @param javaProjectLite Java project whose potential component classpath dependencies will be retrieved.
 	 * @return List of raw IClasspathEntries for potential classpath component dependencies.
 	 * @throws CoreException Thrown if an error is encountered. 
 	 */
-	public static List getPotentialComponentClasspathDependencies(final IJavaProject javaProject) throws CoreException {
-		final List potentialRawEntries = new ArrayList();
+	public static List <IClasspathEntry> getPotentialComponentClasspathDependencies(final IJavaProjectLite javaProjectLite) throws CoreException {
+		return getPotentialComponentClasspathDependencies(javaProjectLite, false);
+	}		
+	public static List <IClasspathEntry> getPotentialComponentClasspathDependencies(final IJavaProjectLite javaProjectLite, final boolean webLibsOnly) throws CoreException {
 
-		if (javaProject == null || !javaProject.getProject().isAccessible()) {
-			return Collections.EMPTY_LIST;
+		final List <IClasspathEntry> potentialRawEntries = new ArrayList<IClasspathEntry>();
+
+		if (javaProjectLite == null || !javaProjectLite.getProject().isAccessible() || (!webLibsOnly && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency())) {
+			return Collections.emptyList();
 		}
-		final IProject project = javaProject.getProject();
+		final IProject project = javaProjectLite.getProject();
+		final boolean isWebApp = JavaEEProjectUtilities.isDynamicWebProject(project);
+		final boolean isRAR = JavaEEProjectUtilities.isJCAProject(project);
 		final ClasspathDependencyValidatorData data = new ClasspathDependencyValidatorData(project);
-		final IClasspathEntry[] entries = javaProject.getRawClasspath();
+		final IClasspathEntry[] entries = javaProjectLite.readRawClasspath();
         for (int i = 0; i < entries.length; i++) {
             final IClasspathEntry entry = entries[i];
-            final IClasspathAttribute attrib = checkForComponentDependencyAttribute(entry);
+            final IClasspathAttribute attrib = checkForComponentDependencyAttribute(entry, DependencyAttributeType.DEPENDENCY_OR_NONDEPENDENCY, webLibsOnly);
             if (attrib != null) {
             	continue; // already has the attribute
-            } else {
-            	// check validation logic for entry
-            	// always mark the "isWebApp" param as true so that we get both exported and non-exported entries; for non-web projects,
-            	// want to let a user have the option to see and select the non-exported entries and then just generate a validation
-            	// error if they happen to select one.
-            	final IMessage[] msgs = ClasspathDependencyValidator.validateVirtualComponentEntry(entry, null, true, project, data);
-            	boolean error = false;
-            	for (int j = 0; j < msgs.length; j++) {
-            		if (msgs[j].getSeverity() == IMessage.HIGH_SEVERITY) {
-            			error = true;
-            			break;
-            		}
-            	}
-            	if (error) {
-            		continue;
-            	}
-            	
-            	// entry can potentially be tagged as a component dependency
-            	potentialRawEntries.add(entry);
             }
+        	// check validation logic for entry
+        	// always mark the "isWebApp" param as true so that we get both exported and non-exported entries; for non-web projects,
+        	// want to let a user have the option to see and select the non-exported entries and then just generate a validation
+        	// error if they happen to select one.
+        	final IMessage[] msgs = ClasspathDependencyValidator.validateVirtualComponentEntry(entry, null, true, project, data);
+        	boolean error = false;
+        	for (int j = 0; j < msgs.length; j++) {
+        		if (msgs[j].getSeverity() == IMessage.HIGH_SEVERITY) {
+        			error = true;
+        			break;
+        		}
+        	}
+        	if (error) {
+        		continue;
+        	}
+        	if (IClasspathEntry.CPE_LIBRARY == entry.getEntryKind()) {
+				final boolean isFile = !ClasspathDependencyUtil.isClassFolderEntry(entry);
+				if(webLibsOnly && !isFile){
+					continue; //directories do not ever work
+				}
+				if (isFile) {
+					boolean foundEntry = false;
+					IVirtualComponent component = ComponentCore.createComponent(project);
+					if (isWebApp) { // checks for web libs
+						IContainer[] webLibFolders = component.getRootFolder().getFolder(WEB_INF_LIB_PATH).getUnderlyingFolders();
+						for (IContainer webLib : webLibFolders) {
+							IPath webLibFolderPath = webLib.getFullPath();
+							if (webLibFolderPath.equals(entry.getPath().removeLastSegments(1))) {
+								foundEntry = true;
+								break;
+							}
+						}
+					} else if(isRAR){
+						IContainer [] rootFolders = component.getRootFolder().getUnderlyingFolders();
+						for(IContainer root: rootFolders){
+							IPath rootPath = root.getFullPath();
+							if(rootPath.isPrefixOf(entry.getPath())){
+								foundEntry = true;
+								break;
+							}
+						}
+					}
+					if (foundEntry) {
+						continue;
+					}
+					// checks for manifest references
+					List manifestRefs = J2EEModuleVirtualComponent.getManifestReferences(component, null);
+					if(manifestRefs != null){
+						for (int j = 0; j < manifestRefs.size(); j++) {
+							IVirtualReference ref = (IVirtualReference) manifestRefs.get(j);
+							IVirtualComponent c = ref.getReferencedComponent();
+							if (c.isBinary()) {
+								VirtualArchiveComponent archiveComponent = (VirtualArchiveComponent) c;
+								IFile file = archiveComponent.getUnderlyingWorkbenchFile();
+								if (file != null) {
+									if (file.getFullPath().equals(entry.getPath())) {
+										foundEntry = true;
+										break;
+									}
+								}
+							}
+						}
+						if (foundEntry) {
+							continue;
+						}
+					}
+					// checks for ear library-directory entries
+					IProject[] earProjects = EarUtilities.getReferencingEARProjects(project);
+					for (IProject earProject : earProjects) {
+						String earDDVersion = EarUtilities.getJ2EEDDProjectVersion(earProject);
+						if(!earDDVersion.equals(J2EEVersionConstants.VERSION_1_2_TEXT) && !earDDVersion.equals(J2EEVersionConstants.VERSION_1_3_TEXT) && !earDDVersion.equals(J2EEVersionConstants.VERSION_1_4_TEXT)) {
+							IVirtualComponent earComponent = ComponentCore.createComponent(earProject);
+							Application app = (Application) ModelProviderManager.getModelProvider(earComponent).getModelObject();
+							String libDir = app.getLibraryDirectory();
+							if (libDir == null) {
+								// lib is the default if no library-directory is set
+								libDir = "lib"; //$NON-NLS-1$
+							}
+							IContainer[] earLibFolders = earComponent.getRootFolder().getFolder(new Path(libDir)).getUnderlyingFolders();
+							for (IContainer earLib : earLibFolders) {
+								IPath earLibFolderPath = earLib.getFullPath();
+								if (earLibFolderPath.equals(entry.getPath().removeLastSegments(1))) {
+									foundEntry = true;
+									break;
+								}
+							}
+							if (foundEntry) {
+								break;
+							}
+						}
+					}
+					if (foundEntry) {
+						continue;
+					}
+				}
+			}
+        	
+        	// entry can potentially be tagged as a component dependency
+        	potentialRawEntries.add(entry);
         }
         return potentialRawEntries;
 	}
@@ -155,8 +285,33 @@
 	 * @return Map from IClasspathEntry to IClasspathAttribute for classpath component dependencies.
 	 * @throws CoreException Thrown if an error is encountered accessing the unresolved classpath.
 	 */
-	public static Map getComponentClasspathDependencies(final IJavaProject javaProject, final boolean isWebApp) throws CoreException {
-		return getComponentClasspathDependencies(javaProject, isWebApp, true);
+	public static Map <IClasspathEntry, IClasspathAttribute> getComponentClasspathDependencies(final IJavaProjectLite javaProjectLite, final boolean isWebApp) throws CoreException {
+		return getComponentClasspathDependencies(javaProjectLite, isWebApp, true);
+	}
+
+	/**
+	 * @deprecated use {@link #getComponentClasspathDependencies(IJavaProjectLite, boolean)}
+	 * @param javaProject
+	 * @param isWebApp
+	 * @return
+	 * @throws CoreException
+	 */
+	@Deprecated
+	public static Map <IClasspathEntry, IClasspathAttribute> getComponentClasspathDependencies(final IJavaProject javaProject, final boolean isWebApp) throws CoreException {
+		return getComponentClasspathDependencies(JavaCoreLite.create(javaProject), isWebApp);
+	}
+
+	/**
+	 * @deprecated use {@link #getComponentClasspathDependencies(IJavaProjectLite, boolean, boolean)}
+	 * @param javaProject
+	 * @param isWebApp
+	 * @param onlyValid
+	 * @return
+	 * @throws CoreException
+	 */
+	@Deprecated
+	public static Map  <IClasspathEntry, IClasspathAttribute> getComponentClasspathDependencies(final IJavaProject javaProject, final boolean isWebApp, final boolean onlyValid) throws CoreException {
+		return getComponentClasspathDependencies(JavaCoreLite.create(javaProject), isWebApp, onlyValid);
 	}
 
 	/**
@@ -170,27 +325,32 @@
 	 * @return Map from IClasspathEntry to IClasspathAttribute for classpath component dependencies.
 	 * @throws CoreException Thrown if an error is encountered accessing the unresolved classpath.
 	 */
-	public static Map getComponentClasspathDependencies(final IJavaProject javaProject, final boolean isWebApp, final boolean onlyValid) throws CoreException {
-
-		final ClasspathDependencyValidatorData data = new ClasspathDependencyValidatorData(javaProject.getProject());
+	public static Map <IClasspathEntry, IClasspathAttribute> getComponentClasspathDependencies(final IJavaProjectLite javaProjectLite, final boolean isWebApp, final boolean onlyValid) throws CoreException {
+		if(!isWebApp && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency()){
+			return Collections.emptyMap();
+		}
+		
+		final boolean webLibsOnly = isWebApp && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency();
+		
+		final ClasspathDependencyValidatorData data = new ClasspathDependencyValidatorData(javaProjectLite.getProject());
 		
 		// get the raw entries
-		final Map referencedRawEntries = getRawComponentClasspathDependencies(javaProject);
-		final Map validRawEntries = new HashMap();
+		final Map<IClasspathEntry, IClasspathAttribute> referencedRawEntries = getRawComponentClasspathDependencies(javaProjectLite, DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY, webLibsOnly);
+		final Map<IClasspathEntry, IClasspathAttribute> validRawEntries = new HashMap<IClasspathEntry, IClasspathAttribute>();
 
 		// filter out non-valid referenced raw entries
-		final Iterator i = referencedRawEntries.keySet().iterator();
+		final Iterator<IClasspathEntry> i = referencedRawEntries.keySet().iterator();
 		while (i.hasNext()) {
-			final IClasspathEntry entry = (IClasspathEntry) i.next();
-			final IClasspathAttribute attrib = (IClasspathAttribute) referencedRawEntries.get(entry);
-			if (isValid(entry, attrib, isWebApp, javaProject.getProject(), data)) {
+			final IClasspathEntry entry = i.next();
+			final IClasspathAttribute attrib = referencedRawEntries.get(entry);
+			if (isValid(entry, attrib, isWebApp, javaProjectLite.getProject(), data)) {
 				validRawEntries.put(entry, attrib);
 			}
 		}
 
 		// if we have no valid raw entries, return empty map
 		if (validRawEntries.isEmpty()) {
-        	return Collections.EMPTY_MAP;
+        	return Collections.emptyMap();
 		}
 
 		// XXX Would like to replace the code below with use of a public JDT API that returns
@@ -201,41 +361,43 @@
 		// support retrieval using the resolved IPackageFragmentRoot
 		
 		// retrieve the resolved classpath
+		//TODO this call to javaProject needs to be removed.  Need to figure out what exactly this is attempting to do.
+		IJavaProject javaProject = JavaCore.create(javaProjectLite.getProject());
+		//TODO this call to javaProject needs to be removed.  Need to figure out what exactly this is attempting to do.
 		final IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-		final Map pathToResolvedEntry = new HashMap();
+		final Map <IPath, IClasspathEntry> pathToResolvedEntry = new HashMap<IPath, IClasspathEntry>();
 		
 		// store in a map from path to entry
 		for (int j = 0; j < entries.length; j++) {
 			pathToResolvedEntry.put(entries[j].getPath(), entries[j]);
 		}
 
-		final Map referencedEntries = new LinkedHashMap();
+		final Map <IClasspathEntry, IClasspathAttribute> referencedEntries = new LinkedHashMap <IClasspathEntry, IClasspathAttribute>();
 		
 		// grab all IPackageFragmentRoots
 		
 		// TODO this ignores project cp entries; can easily add in the raw project cp entries, however, do not have a good way to 
 		// map project cp entries resolved from cp containers back to the corresponding raw entry (and thereby determine if the
 		// entry has the publish/export attribute)
-		
+		//TODO this call to javaProject needs to be removed.  Need to figure out what exactly this is attempting to do.
 		final IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
-		for (int j = 0; j < roots.length; j++) {
-			final IPackageFragmentRoot root = roots[j];
+		for (IPackageFragmentRoot root : roots) {
 			final IClasspathEntry rawEntry = root.getRawClasspathEntry();
 			
 			// is the raw entry valid?
-			IClasspathAttribute attrib = (IClasspathAttribute) validRawEntries.get(rawEntry);
+			IClasspathAttribute attrib = validRawEntries.get(rawEntry);
 			if (attrib == null) {
 				continue;
 			}
 			
 			final IPath pkgFragPath = root.getPath();
-			final IClasspathEntry resolvedEntry = (IClasspathEntry) pathToResolvedEntry.get(pkgFragPath);
-			final IClasspathAttribute resolvedAttrib = checkForComponentDependencyAttribute(resolvedEntry);
+			final IClasspathEntry resolvedEntry = pathToResolvedEntry.get(pkgFragPath);
+			final IClasspathAttribute resolvedAttrib = checkForComponentDependencyAttribute(resolvedEntry, DependencyAttributeType.DEPENDENCY_OR_NONDEPENDENCY, webLibsOnly);
 			// attribute for the resolved entry must either be unspecified or it must be the
 			// dependency attribute for it to be included
 			if (resolvedAttrib == null || resolvedAttrib.getName().equals(CLASSPATH_COMPONENT_DEPENDENCY)) {
 				// filter out resolved entry if it doesn't pass the validation rules
-				if (!onlyValid || isValid(resolvedEntry, resolvedAttrib != null?resolvedAttrib:attrib,isWebApp, javaProject.getProject(), data)) {
+				if (!onlyValid || isValid(resolvedEntry, resolvedAttrib != null?resolvedAttrib:attrib,isWebApp, javaProjectLite.getProject(), data)) {
 					if (resolvedAttrib != null) {
 						// if there is an attribute on the sub-entry, use that
 						attrib = resolvedAttrib;
@@ -386,7 +548,6 @@
 	 * @return True if this is a publish/export class folder.
 	 */
 	public static boolean isClassFolderReference(final IVirtualReference ref) {
-		final IPath runtimePath = ref.getRuntimePath();
 		final IVirtualComponent comp = ref.getReferencedComponent();
 		// must refer to a ClasspathDependencyVirtualComponent
 		if (comp instanceof ClasspathDependencyVirtualComponent) {
@@ -429,9 +590,8 @@
 	public static IPath getDefaultRuntimePath(final boolean isWebApp, final boolean isClassFolder) {
 		if (isWebApp) {
 			return isClassFolder ? WEB_INF_CLASSES_PATH : WEB_INF_LIB_PATH;			
-		} else {
-			return isClassFolder ? RUNTIME_MAPPING_INTO_COMPONENT_PATH : RUNTIME_MAPPING_INTO_CONTAINER_PATH;
 		}
+		return isClassFolder ? RUNTIME_MAPPING_INTO_COMPONENT_PATH : RUNTIME_MAPPING_INTO_CONTAINER_PATH;
 	}
 	
 	/**
@@ -448,9 +608,8 @@
 			IResource resource = getEntryResource(entry);
 			if (resource == null) {
 				return getEntryLocation(entry).lastSegment();
-			} else {
-				return resource.getFullPath().toString();
 			}
+			return resource.getFullPath().toString();
 		}
 		final IPath entryLocation = getEntryLocation(entry);
 		return entryLocation.lastSegment();
@@ -478,7 +637,10 @@
 	 * @return The IClasspathAttribute that holds the special WTP attribute or null if one was not found.
 	 */
 	public static IClasspathAttribute checkForComponentDependencyAttribute(final IClasspathEntry entry, final DependencyAttributeType attributeType) {
-		if (entry == null) {
+		return checkForComponentDependencyAttribute(entry, attributeType, false);
+	}
+	public static IClasspathAttribute checkForComponentDependencyAttribute(final IClasspathEntry entry, final DependencyAttributeType attributeType, final boolean webLibsOnly) {
+		if (entry == null || (!webLibsOnly && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency())) {
 			return null;
 		}
 	    final IClasspathAttribute[] attributes = entry.getExtraAttributes();
diff --git a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyEnablement.java b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyEnablement.java
new file mode 100644
index 0000000..f827ed9
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyEnablement.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.j2ee.internal.classpathdep;
+
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPreferences;
+
+public class ClasspathDependencyEnablement {
+
+	/**
+	 * This flag is used to control the enablement of the Classpath Dependency
+	 * functionality.  The default value is true which enables this functionality.
+	 * Setting this value to false will disable the functionality.
+	 */
+	private static boolean allowClasspathComponentDependency = J2EEPlugin.getDefault().getPluginPreferences().getBoolean(J2EEPreferences.Keys.ALLOW_CLASSPATH_DEP);
+	
+	public static void setAllowClasspathComponentDependency(boolean allow){
+		allowClasspathComponentDependency = allow;
+	}
+	
+	public static boolean isAllowClasspathComponentDependency(){
+		return allowClasspathComponentDependency;
+	}
+	
+}
diff --git a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyManifestUtil.java b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyManifestUtil.java
index b2cc426..090b399 100644
--- a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyManifestUtil.java
+++ b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyManifestUtil.java
@@ -10,12 +10,15 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.internal.classpathdep;
 
+import java.io.File;
 import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
@@ -29,6 +32,8 @@
  */
 public class ClasspathDependencyManifestUtil {
 
+	private static ConcurrentHashMap<String, String> manifestClasspaths = new ConcurrentHashMap<String, String>();
+	
 	/**
 	 * Generates new MANIFEST.MF with a dynamically updated classpath that is written to the specified
 	 * output stream.
@@ -39,7 +44,36 @@
 	 * @throws FileNotFoundException
 	 */
 	public static void updateManifestClasspath(final IFile manifestFile, final List dynamicURIs, final OutputStream outputStream) throws IOException, FileNotFoundException {
+		updateManifestClasspathImpl(manifestFile, dynamicURIs, null, outputStream);
+    }
+	
+	/**
+	 * Generates new MANIFEST.MF with a dynamically updated classpath that is written to the specified
+	 * output stream.
+	 * @param manifestFile The current MANIFEST.MF file.
+	 * @param dynamicURIs Is List of URIs to dynamically add to the manifest classpath.
+	 * @param outputFile File to which the modified entry should be written.
+	 * @throws IOException
+	 * @throws FileNotFoundException
+	 */
+	public static void updateManifestClasspath(final IFile manifestFile, final List dynamicURIs, final File outputFile) throws IOException, FileNotFoundException {
+		updateManifestClasspathImpl(manifestFile, dynamicURIs, outputFile, null);
+    }
+
+	/**
+	 * Generates new MANIFEST.MF with a dynamically updated classpath that is written to the specified
+	 * file or output stream, with the stream taking precedence.
+	 * @param manifestFile The current MANIFEST.MF file.
+	 * @param dynamicURIs Is List of URIs to dynamically add to the manifest classpath.
+	 * @param outputFile File to which the modified entry should be written.
+	 * @param OutputStream stream Stream to which the modified entry should be written. If not null,
+	 * the stream will be written and the outputFile ignored.
+	 * @throws IOException
+	 * @throws FileNotFoundException
+	 */
+	private static void updateManifestClasspathImpl(final IFile manifestFile, final List dynamicURIs, final File outputFile, final OutputStream stream) throws IOException, FileNotFoundException {
 		
+		OutputStream outputStream = stream; 
         try {
         	InputStream in = null;
         	ArchiveManifest manifest = null;
@@ -88,9 +122,25 @@
         		}
         		cpBuffer.append((String) updatedCP.get(j));
         	}
-        	manifest.setClassPath(cpBuffer.toString());
-        	manifest.write(outputStream);
-        	outputStream.flush();
+        	String cp = cpBuffer.toString();
+        	// If we have an output stream, always write to the stream 
+        	if (outputStream != null) {
+            	manifest.setClassPath(cp);
+            	manifest.write(outputStream);
+            	outputStream.flush();
+        	}
+        	// Else, without an output stream, conditionally update the specified file
+        	else {
+            	String manifestPath = manifestFile.getFullPath().toString();
+            	String priorClasspath = manifestClasspaths.get(manifestPath);
+            	if (priorClasspath == null || !priorClasspath.equals(cp) || !outputFile.exists()) {
+                	manifestClasspaths.put(manifestPath, cp);
+                	manifest.setClassPath(cp);
+                	outputStream = new FileOutputStream(outputFile);
+                	manifest.write(outputStream);
+                	outputStream.flush();
+            	}
+        	}
         } finally {
         	if (outputStream != null) {
         		outputStream.close();
diff --git a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyValidator.java b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyValidator.java
index 4bdb48c..d660ebe 100644
--- a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyValidator.java
+++ b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/ClasspathDependencyValidator.java
@@ -28,13 +28,14 @@
 import org.eclipse.core.runtime.jobs.ISchedulingRule;
 import org.eclipse.jdt.core.IClasspathAttribute;
 import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.jst.common.jdt.internal.javalite.IJavaProjectLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaCoreLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaLiteUtilities;
 import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
 import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
+import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants.DependencyAttributeType;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -76,15 +77,25 @@
 		//Using the helper class, load the module model
 		final Set archiveNames = new HashSet();
 		final IProject proj = ((ClasspathDependencyValidatorHelper) helper).getProject();
+		
 		try {
 			if (proj.isAccessible() 
 			    && proj.hasNature(ModuleCoreNature.MODULE_NATURE_ID)
-			    && proj.hasNature(JavaCore.NATURE_ID)) {
+			    && proj.hasNature(JavaCoreLite.NATURE_ID)) {
 			    
-				final IJavaProject javaProject = JavaCore.create(proj);
-			    final boolean isWebApp = J2EEProjectUtilities.isDynamicWebProject(proj);
-				final Map referencedRawEntries = ClasspathDependencyUtil.getRawComponentClasspathDependencies(javaProject); 				
-				final List potentialRawEntries = ClasspathDependencyUtil.getPotentialComponentClasspathDependencies(javaProject);
+				final boolean isWebApp = JavaEEProjectUtilities.isDynamicWebProject(proj);
+			    boolean webLibsOnly = false;
+			    if(!ClasspathDependencyEnablement.isAllowClasspathComponentDependency()){
+			    	if(!isWebApp){
+			    		return OK_STATUS;
+			    	} else {
+			    		webLibsOnly = true;
+			    	}
+				}
+			    
+			    final IJavaProjectLite javaProjectLite = JavaCoreLite.create(proj);
+			    final Map referencedRawEntries = ClasspathDependencyUtil.getRawComponentClasspathDependencies(javaProjectLite, DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY, webLibsOnly); 				
+				final List potentialRawEntries = ClasspathDependencyUtil.getPotentialComponentClasspathDependencies(javaProjectLite, webLibsOnly);
 				final IVirtualComponent component = ComponentCore.createComponent(proj);				
 				final ClasspathDependencyValidatorData data = new ClasspathDependencyValidatorData(proj);
 				
@@ -107,15 +118,15 @@
 					reportMessages(msgs);
 		    		// if not a web app, warn if associated cp entry is not exported
 					if (!isWebApp && !entry.isExported()) {
-						_reporter.addMessage(this, new Message("classpathdependencyvalidator", // $NON-NLS-1$
+						_reporter.addMessage(this, new Message("classpathdependencyvalidator", //$NON-NLS-1$
 								IMessage.NORMAL_SEVERITY, NonWebNonExported, new String[]{cpEntryPath}, proj));
 					}
 				}
 			
 				if (!referencedRawEntries.isEmpty()) {
-					if (J2EEProjectUtilities.isApplicationClientProject(proj)) { 
+					if (JavaEEProjectUtilities.isApplicationClientProject(proj)) { 
 						// classpath component dependencies are not supported for application client projects
-						final IMessage msg = new Message("classpathdependencyvalidator", // $NON-NLS-1$
+						final IMessage msg = new Message("classpathdependencyvalidator", //$NON-NLS-1$
 								IMessage.HIGH_SEVERITY, AppClientProject, null, proj);
 						_reporter.addMessage(this, msg);
 					}
@@ -126,15 +137,15 @@
 						final List earWarRefs = new ArrayList();
 						final IVirtualComponent[] refComponents = component.getReferencingComponents();
 						for (int j = 0; j < refComponents.length; j++) {
-							if (J2EEProjectUtilities.isEARProject(refComponents[j].getProject())
-									|| J2EEProjectUtilities.isDynamicWebProject(refComponents[j].getProject())) {
+							if (JavaEEProjectUtilities.isEARProject(refComponents[j].getProject())
+									|| JavaEEProjectUtilities.isDynamicWebProject(refComponents[j].getProject())) {
 								referencedFromEARorWAR = true;
 								earWarRefs.add(refComponents[j]);
 							}
 						}
 						if (!referencedFromEARorWAR) {
 							// warn if there are root mappings and the project is not referenced by an EAR or a WAR
-							final IMessage msg =new Message("classpathdependencyvalidator", // $NON-NLS-1$
+							final IMessage msg =new Message("classpathdependencyvalidator", //$NON-NLS-1$
 									IMessage.NORMAL_SEVERITY, RootMappingNonEARWARRef, null, proj); 
 							_reporter.addMessage(this, msg);
 						}
@@ -147,7 +158,7 @@
 				i = potentialRawEntries.iterator();
 				while (i.hasNext()) {
 					final IClasspathEntry entry = (IClasspathEntry) i.next();
-					final IMessage msg =new Message("classpathdependencyvalidator", // $NON-NLS-1$
+					final IMessage msg =new Message("classpathdependencyvalidator", //$NON-NLS-1$
 							IMessage.NORMAL_SEVERITY, NonTaggedExportedClasses, new String[]{entry.getPath().toString()}, proj);
 					msg.setGroupName(entry.getPath().toString());
 					_reporter.addMessage(this, msg); 
@@ -155,7 +166,7 @@
 				
 				// validate all resolved entries (only perform this if there are raw referenced entries)
 				if (!referencedRawEntries.isEmpty()) {
-					final Map referencedResolvedEntries = ClasspathDependencyUtil.getComponentClasspathDependencies(javaProject, isWebApp, false);  
+					final Map referencedResolvedEntries = ClasspathDependencyUtil.getComponentClasspathDependencies(javaProjectLite, isWebApp, false);  
 					i = referencedResolvedEntries.keySet().iterator();
 					while (i.hasNext()) {
 						final IClasspathEntry entry = (IClasspathEntry) i.next();
@@ -164,7 +175,7 @@
 						final String archivePath = ClasspathDependencyUtil.getArchiveName(entry);
 						if (archiveNames.contains(archivePath)) {
 							// Project cp entry
-							final IMessage msg = new Message("classpathdependencyvalidator", // $NON-NLS-1$
+							final IMessage msg = new Message("classpathdependencyvalidator", //$NON-NLS-1$
 									IMessage.HIGH_SEVERITY, DuplicateArchiveName, new String[]{entry.getPath().toString()}, proj);									
 							_reporter.addMessage(this, msg); 
 						} else {
@@ -179,7 +190,7 @@
 				}
 			}
 		} catch (CoreException e) {
-			Logger.getLogger(J2EEPlugin.PLUGIN_ID).logError(e);
+			J2EEPlugin.logError(e);
 		}
 		
 		return Status.OK_STATUS;
@@ -208,21 +219,31 @@
 	 *
 	 */
 	public static class ClasspathDependencyValidatorData {
-		private final IProject project;
+		private final IProject _project;
 		// Class folders mapped via the component file (either directly or via src folders)
-		private final IContainer[] mappedClassFolders;
+		private List <IContainer> javaOutputFolders;
 		
 		public ClasspathDependencyValidatorData(final IProject project) {
-			this.project = project;
-			this.mappedClassFolders = J2EEProjectUtilities.getAllOutputContainers(project);
+			this._project = project;
 		}
 		
 		public IProject getProject() {
-			return project;
+			return _project;
 		}
 		
+		public List <IContainer> getJavaOutputFolders(){
+			if(javaOutputFolders == null){
+				javaOutputFolders = JavaLiteUtilities.getJavaOutputContainers(ComponentCore.createComponent(_project));		
+			}
+			return javaOutputFolders;
+		}
+		
+		/**
+		 * @deprecated use {@link #getJavaOutputFolders()}
+		 * @return
+		 */
 		public IContainer[] getMappedClassFolders() {
-			return mappedClassFolders;
+			return getJavaOutputFolders().toArray(new IContainer[javaOutputFolders.size()]);
 		}
 	}
 	
@@ -248,7 +269,7 @@
 		if (kind == IClasspathEntry.CPE_PROJECT) {
 			
 			// Project cp entry
-			results.add(new Message("classpathdependencyvalidator", // $NON-NLS-1$
+			results.add(new Message("classpathdependencyvalidator", //$NON-NLS-1$
 					IMessage.HIGH_SEVERITY, ProjectClasspathEntry, new String[]{entry.getPath().toString()}, project));
 
 			return (IMessage[]) results.toArray(new IMessage[results.size()]);
@@ -256,7 +277,7 @@
 			
 			// Source cp entry
 			
-			results.add(new Message("classpathdependencyvalidator", // $NON-NLS-1$
+			results.add(new Message("classpathdependencyvalidator", //$NON-NLS-1$
 					IMessage.HIGH_SEVERITY, SourceEntry, new String[]{entry.getPath().toString()}, project));
 			return (IMessage[]) results.toArray(new IMessage[results.size()]);
 		} else if (kind == IClasspathEntry.CPE_CONTAINER) {
@@ -268,7 +289,7 @@
 				final String id = (String) filteredIDs.get(i);
 				if (path.segment(0).equals(id)) {
 	        		// filtered classpath container
-	    			results.add(new Message("classpathdependencyvalidator", // $NON-NLS-1$
+	    			results.add(new Message("classpathdependencyvalidator", //$NON-NLS-1$
 	    					IMessage.HIGH_SEVERITY, FilteredContainer, new String[]{entry.getPath().toString()}, project));
 	    			return (IMessage[]) results.toArray(new IMessage[results.size()]);					
 				}
@@ -291,7 +312,7 @@
 
 					// Class folder reference; ensure this is not already mapped via the component file.
 					if (alreadyMapped) {
-						results.add(new Message("classpathdependencyvalidator", // $NON-NLS-1$
+						results.add(new Message("classpathdependencyvalidator", //$NON-NLS-1$
 								IMessage.HIGH_SEVERITY, DuplicateClassFolderEntry, new String[]{entry.getPath().toString()}, project));
 					}
 				}
@@ -303,7 +324,7 @@
     		// only a ../ or / mapping is currently legal in a non-web context
     		if (!(runtimePath.equals(IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_CONTAINER_PATH) 
     				|| runtimePath.equals(IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_COMPONENT_PATH))) { 
-    			results.add(new Message("classpathdependencyvalidator", // $NON-NLS-1$
+    			results.add(new Message("classpathdependencyvalidator", //$NON-NLS-1$
     					IMessage.HIGH_SEVERITY, InvalidNonWebRuntimePath, new String[]{entry.getPath().toString(), runtimePath.toString()}, project));
     		}
     	} else {
@@ -312,7 +333,7 @@
     		if (!runtimePath.equals(IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_CONTAINER_PATH) 
     			&& !runtimePath.equals(IClasspathDependencyConstants.WEB_INF_LIB_PATH)
     			&& !runtimePath.equals(IClasspathDependencyConstants.WEB_INF_CLASSES_PATH)) { 
-    			results.add(new Message("classpathdependencyvalidator", // $NON-NLS-1$
+    			results.add(new Message("classpathdependencyvalidator", //$NON-NLS-1$
     					IMessage.HIGH_SEVERITY, InvalidWebRuntimePath, new String[]{entry.getPath().toString(), pathStr}, project));
     		}
     	}
diff --git a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/UpdateClasspathAttributesOperation.java b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/UpdateClasspathAttributesOperation.java
index 886e8fe..0949c1f 100644
--- a/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/UpdateClasspathAttributesOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/classpathdep/org/eclipse/jst/j2ee/internal/classpathdep/UpdateClasspathAttributesOperation.java
@@ -28,10 +28,12 @@
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.jst.common.jdt.internal.javalite.IJavaProjectLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaCoreLite;
 import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
 import org.eclipse.jst.j2ee.classpathdep.UpdateClasspathAttributeUtil;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
 import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 
@@ -48,6 +50,7 @@
 	public IStatus execute(final IProgressMonitor monitor, final IAdaptable info)
 			throws ExecutionException {
 		final IProject project = ProjectUtilities.getProject(model.getStringProperty(PROJECT_NAME));
+		final boolean webLibsOnly = JavaEEProjectUtilities.isDynamicWebProject(project) && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency();
 
 		try {
 			if (project.hasNature(JavaCore.NATURE_ID)) {
@@ -75,7 +78,7 @@
 							}
 							entriesToAttrib.put(entry, attrib);
 						}
-						updateDependencyAttributes(javaProject, entriesToAttrib, modifyComponentDep); 
+						updateDependencyAttributes(javaProject, entriesToAttrib, modifyComponentDep, webLibsOnly); 
 					} else {
 						removeDependencyAttributes(javaProject, entriesToRemove, modifyComponentDep); 
 					}
@@ -126,8 +129,12 @@
 	}
 
 	private void alterDependencyAttributes(final IJavaProject javaProject, final Map entries, final boolean add, final boolean modifyComponentDep) throws CoreException {
+		final boolean isWebApp = JavaEEProjectUtilities.isDynamicWebProject(javaProject.getProject());
+		final boolean webLibsOnly = isWebApp && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency();
+		final IJavaProjectLite javaProjectLite = JavaCoreLite.create(javaProject);
+		
 		// initialize to the set of raw entries with the attrib
-		final Map entriesWithAttrib = ClasspathDependencyUtil.getRawComponentClasspathDependencies(javaProject, modifyComponentDep ? DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY : DependencyAttributeType.CLASSPATH_COMPONENT_NONDEPENDENCY);
+		final Map entriesWithAttrib = ClasspathDependencyUtil.getRawComponentClasspathDependencies(javaProjectLite, modifyComponentDep ? DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY : DependencyAttributeType.CLASSPATH_COMPONENT_NONDEPENDENCY, webLibsOnly);
 		
 		Iterator i = entries.keySet().iterator();
 		while (i.hasNext()) {
@@ -137,7 +144,6 @@
 					IPath runtimePath = (IPath) entries.get(entry);
 					if (runtimePath == null) {
 						// compute the default runtime path
-						final boolean isWebApp = J2EEProjectUtilities.isDynamicWebProject(javaProject.getProject());
 						runtimePath = ClasspathDependencyUtil.getDefaultRuntimePath(isWebApp, ClasspathDependencyUtil.isClassFolderEntry(entry));
 					}
 					IClasspathAttribute attrib = null;
@@ -155,7 +161,7 @@
 				}
 			}
 		}
-		updateDependencyAttributes(javaProject, entriesWithAttrib, modifyComponentDep);
+		updateDependencyAttributes(javaProject, entriesWithAttrib, modifyComponentDep, webLibsOnly);
 	}
 	
 	private IClasspathEntry getMatchingEntryIgnoreAttributes(final Map entries, final IClasspathEntry entry) {
@@ -181,7 +187,7 @@
 	 * @param modifyComponentDep True if modifying the dependency attribute, false if modifying the non-dependency attribute.
 	 * @throws CoreException Thrown if an error is encountered.
 	 */	
-	private void updateDependencyAttributes(final IJavaProject javaProject, final Map entriesWithAttrib, final boolean modifyComponentDep) throws CoreException {
+	private void updateDependencyAttributes(final IJavaProject javaProject, final Map entriesWithAttrib, final boolean modifyComponentDep, final boolean webLibsOnly) throws CoreException {
 		if (javaProject == null || !javaProject.getProject().isAccessible()) {
 			return;
 		}
@@ -197,7 +203,7 @@
 			IClasspathEntry entry = rawClasspath[i];
 			final int kind = entry.getEntryKind();
 			boolean hasAttribute = ClasspathDependencyUtil.checkForComponentDependencyAttribute(entry, 
-					modifyComponentDep ? DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY : DependencyAttributeType.CLASSPATH_COMPONENT_NONDEPENDENCY) != null;
+					modifyComponentDep ? DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY : DependencyAttributeType.CLASSPATH_COMPONENT_NONDEPENDENCY, webLibsOnly) != null;
 			boolean shouldHaveAttribute = entriesWithAttrib.containsKey(entry);
 			boolean updateAttributes = false;
 			IClasspathAttribute[] updatedAttributes = null;
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/ClasspathModel.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/ClasspathModel.java
index d1c9d3e..b857bf1 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/ClasspathModel.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/ClasspathModel.java
@@ -645,7 +645,6 @@
 				classPathWLPSelection.addClasspathElement(element, unresolvedURI);
 			}
 		}
-		
 		// Add elements for raw classpath entries (either already tagged or potentially taggable) 
 		try {
 			classPathWLPSelection.createClasspathEntryElements(component, WEBLIB, WEBINF_CLASSES);
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/CleanBuildCacheCleanerListener.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/CleanBuildCacheCleanerListener.java
new file mode 100644
index 0000000..b13a047
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/CleanBuildCacheCleanerListener.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.j2ee.internal.common;
+
+import org.eclipse.core.resources.IResourceChangeEvent;
+import org.eclipse.core.resources.IResourceChangeListener;
+import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.jst.j2ee.ejb.internal.util.CMPKeySynchronizationAdapter;
+
+public class CleanBuildCacheCleanerListener implements IResourceChangeListener {
+
+	public static CleanBuildCacheCleanerListener INSTANCE = new CleanBuildCacheCleanerListener();
+
+	private CleanBuildCacheCleanerListener() {
+	}
+
+	public void resourceChanged(IResourceChangeEvent event) {
+		IResourceDelta delta = event.getDelta();
+		if(delta.getFlags() != IResourceDelta.MARKERS && delta.getAffectedChildren().length > 0){
+			CMPKeySynchronizationAdapter.flushUnresolvedKeyAttributesOnCleanBuild();
+		}
+	}
+}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/J2EEDependencyListener.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/J2EEDependencyListener.java
index 1ceed2e..cf737d2 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/J2EEDependencyListener.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/J2EEDependencyListener.java
@@ -4,6 +4,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -25,6 +26,7 @@
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
 
 public class J2EEDependencyListener implements IResourceChangeListener, IResourceDeltaVisitor {
 
@@ -121,7 +123,7 @@
 			if (name.equals(J2EEConstants.MANIFEST_SHORT_NAME)) {
 				IFile manifestFile = J2EEProjectUtilities.getManifestFile(resource.getProject(), false);
 				if (null == manifestFile || resource.equals(manifestFile)) {
-					IDependencyGraph.INSTANCE.update(resource.getProject());
+					IDependencyGraph.INSTANCE.update(resource.getProject(), IDependencyGraph.MODIFIED);
 				}
 			} else if (name.equals(WTPModulesResourceFactory.WTP_MODULES_SHORT_NAME)) {
 				if (EarUtilities.isEARProject(resource.getProject())) {
@@ -129,17 +131,18 @@
 					// is to force the update of all projects
 					IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
 					for (IProject sourceProject : allProjects) {
-						IDependencyGraph.INSTANCE.update(sourceProject);
+						IDependencyGraph.INSTANCE.update(sourceProject, IDependencyGraph.MODIFIED);
 					}
 				}
-			} else if (endsWithIgnoreCase(name, IModuleExtensions.DOT_JAR)) {
+			} else if (endsWithIgnoreCase(name, IModuleExtensions.DOT_JAR) || endsWithIgnoreCase(name, IModuleExtensions.DOT_WAR) || endsWithIgnoreCase(name, IModuleExtensions.DOT_RAR)) {
 				if (EarUtilities.isEARProject(resource.getProject())) {
 					IVirtualComponent comp = ComponentCore.createComponent(resource.getProject());
-					if (isFolder(resource.getParent(), comp.getRootFolder())) {
+					if (isInTree((IFile)resource, comp.getRootFolder())) {
 						IVirtualReference[] refs = comp.getReferences();
 						for (IVirtualReference ref : refs) {
-							IDependencyGraph.INSTANCE.update(ref.getReferencedComponent().getProject());
+							IDependencyGraph.INSTANCE.update(ref.getReferencedComponent().getProject(), IDependencyGraph.MODIFIED);
 						}
+						IDependencyGraph.INSTANCE.update(resource.getProject(), IDependencyGraph.MODIFIED);
 					}
 
 				}
@@ -148,6 +151,34 @@
 			return false;
 		}
 	}
+	
+	public static boolean isInTree(IFile file, IVirtualFolder folder) {
+		// If we are the folder, return true
+		if( isFolder(file.getParent(), folder))
+				return true;
+		
+		// if resource is any level under current VF's underlying folders, return true 
+		IContainer[] underlying = folder.getUnderlyingFolders();
+		for( int i = 0; i < underlying.length; i++ ) {
+			if( underlying[i].getFullPath().isPrefixOf(file.getFullPath()))
+				return true;
+		}
+		
+		// continue to peruse in case there's some odd mapping, such as 
+		// /EarConten5 -> /my/secret/location/wherever/it/goes
+		boolean found = false;
+		try {
+			IVirtualResource[] children = folder.members();
+			for(int i = 0; i < children.length && !found; i++ ) {
+				if( children[i].getType() == IVirtualResource.FOLDER) {
+					found |= isInTree(file, (IVirtualFolder)children[i]);
+				}
+			}
+		} catch( CoreException ce) {
+			J2EEPlugin.logError(ce);
+		}
+		return found;
+	}
 
 	public static boolean endsWithIgnoreCase(String str, String sfx) {
 		return J2EEComponentClasspathUpdater.endsWithIgnoreCase(str, sfx);
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/J2EEPreferencePropertyTester.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/J2EEPreferencePropertyTester.java
new file mode 100644
index 0000000..2197923
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/J2EEPreferencePropertyTester.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.j2ee.internal.common;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+
+public final class J2EEPreferencePropertyTester extends PropertyTester
+
+{
+	/**
+	 * Test to see if the @param value preference is set to true in @link J2EEPreferences 
+	 */
+	public boolean test( final Object receiver, 
+						final String property, 
+						final Object[] args, 
+						final Object value )
+	{
+		return Boolean.parseBoolean(J2EEPlugin.getDefault().getJ2EEPreferences().getString(value.toString()));
+	}
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainer.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainer.java
index 5622dec..dac4694 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainer.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainer.java
@@ -11,17 +11,14 @@
 package org.eclipse.jst.j2ee.internal.common.classpath;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Hashtable;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IAccessRule;
@@ -31,19 +28,16 @@
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.internal.core.ClasspathEntry;
-import org.eclipse.jdt.internal.core.JavaProject;
-import org.eclipse.jdt.internal.core.util.Util;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jem.util.logger.proxy.Logger;
 import org.eclipse.jst.common.jdt.internal.classpath.ClasspathDecorations;
 import org.eclipse.jst.common.jdt.internal.classpath.ClasspathDecorationsManager;
 import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent;
+import org.eclipse.jst.j2ee.componentcore.util.EARVirtualComponent;
 import org.eclipse.jst.j2ee.internal.common.J2EECommonMessages;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.j2ee.project.EarUtilities;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
 import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphManager;
+import org.eclipse.wst.common.componentcore.internal.StructureEdit;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
@@ -70,14 +64,42 @@
 	private IPath containerPath;
 	private IJavaProject javaProject;
 	private IClasspathEntry[] entries = new IClasspathEntry[0];
+	private boolean exportEntries = true; //the default behavior is to always export these dependencies
 	private static Map keys = new Hashtable();
-	private static Map previousSelves = new Hashtable();
+	private static int MAX_RETRIES = 10;
+	private static Map retries = new Hashtable();
 	
 	private class LastUpdate {
-		private long dotClasspathModificationStamp = -1;
+		private int baseRefCount = 0; // count of references returned directly from a component
 		private int refCount = 0;
 		private boolean[] isBinary = new boolean[refCount];
 		private IPath[] paths = new IPath[refCount];
+		
+		private int baseLibRefCount = 0; // count of references resolved by EAR 5 lib directory
+		
+		private boolean areSame(IVirtualComponent comp, int i){
+			if (comp.isBinary() != isBinary[i]) {
+				return false;
+			} else {
+				IPath path = null;
+				if (comp.isBinary()) {
+					VirtualArchiveComponent archiveComp = (VirtualArchiveComponent) comp;
+					java.io.File diskFile = archiveComp.getUnderlyingDiskFile();
+					if (diskFile.exists())
+						path = new Path(diskFile.getAbsolutePath());
+					else {
+						IFile iFile = archiveComp.getUnderlyingWorkbenchFile();
+						path = iFile.getFullPath();
+					}
+				} else {
+					path = comp.getProject().getFullPath();
+				}
+				if (!path.equals(paths[i])) {
+					return false;
+				}
+			}
+			return true;
+		}
 	}
 
 	private LastUpdate lastUpdate = new LastUpdate();
@@ -93,76 +115,91 @@
 			return false;
 		}
 		
-		IFile dotClasspath = javaProject.getProject().getFile(ProjectUtilities.DOT_CLASSPATH);
-		long dotClasspathModificationStamp = dotClasspath.exists() ? dotClasspath.getModificationStamp() : 0;
-		if(dotClasspathModificationStamp != lastUpdate.dotClasspathModificationStamp){
-			return true;
-		}
+		IVirtualReference[] refs = component instanceof J2EEModuleVirtualComponent ? ((J2EEModuleVirtualComponent)component).getReferences(false, true): component.getReferences();
 		
-		IVirtualReference[] refs = component instanceof J2EEModuleVirtualComponent ? ((J2EEModuleVirtualComponent)component).getReferences(true, true): component.getReferences();
-		IVirtualComponent comp = null;
-
 		// avoid updating the container if references haven't changed
-		if (refs.length == lastUpdate.refCount) {
-			for (int i = 0; i < lastUpdate.refCount; i++) {
+		if (refs.length == lastUpdate.baseRefCount) {
+			for (int i = 0; i < lastUpdate.baseRefCount; i++) {
+				IVirtualComponent comp = null;
 				comp = refs[i].getReferencedComponent();
-				if (comp.isBinary() != lastUpdate.isBinary[i]) {
+				if(!lastUpdate.areSame(comp, i)){
 					return true;
-				} else {
-					IPath path = null;
-					if (comp.isBinary()) {
-						VirtualArchiveComponent archiveComp = (VirtualArchiveComponent) comp;
-						java.io.File diskFile = archiveComp.getUnderlyingDiskFile();
-						if (diskFile.exists())
-							path = new Path(diskFile.getAbsolutePath());
-						else {
-							IFile iFile = archiveComp.getUnderlyingWorkbenchFile();
-							path = iFile.getFullPath();
+				}
+			}
+			List <IVirtualReference> earRefs = getBaseEARLibRefs(component);
+			if(earRefs.size() != lastUpdate.baseLibRefCount){
+				return true;
+			} else {
+				List refsList = new ArrayList();
+				Set refedComps = new HashSet();
+				refedComps.add(component);
+				for(int i = 0; i<refs.length;i++){
+					refsList.add(refs[i]);
+					refedComps.add(refs[i].getReferencedComponent());
+				}
+				int i=lastUpdate.baseRefCount;
+				for(IVirtualReference earRef : earRefs){
+					IVirtualComponent comp = earRef.getReferencedComponent();
+					// check if the referenced component is already visited - avoid cycles in the build path
+					if (!refedComps.contains(comp)) {
+						if(i == lastUpdate.refCount){
+							return true; // found something new and need update
 						}
-					} else {
-						path = comp.getProject().getFullPath();
+						// visit the referenced component
+						refsList.add(earRef);
+						refedComps.add(comp);
+						if(!lastUpdate.areSame(comp, i)){
+							return true;
+						}
+						i++;
 					}
-					if (!path.equals(lastUpdate.paths[i])) {
-						return true;
-					}
+				}
+				if(i!= lastUpdate.refCount){
+					return true; // didn't find them all
 				}
 			}
 			return false;
 		}
 		return true;
 	}
-	
+
 	private void update() {
-		if(!javaProject.isOpen()){
-			try {
-				if(javaProject.getProject().exists() && javaProject.getProject().hasNature(JavaCore.NATURE_ID)){
-					javaProject.open(null);
-				} else {
-					return;
-				}
-			} catch (JavaModelException e) {
-				Logger.getLogger().logError(e);
-			} catch (CoreException e) {
-				//ignore 
-				return;
-			}
-		}
-		
 		IVirtualComponent component = ComponentCore.createComponent(javaProject.getProject());
-		Object key = keys.get(new Integer(javaProject.getProject().hashCode()));
-		J2EEComponentClasspathContainer firstPreviousSelf = (J2EEComponentClasspathContainer)previousSelves.get(key);
 		if (component == null) {
 			return;
+		} 
+		Object key = null;
+		if(!javaProject.getProject().getFile(StructureEdit.MODULE_META_FILE_NAME).exists()){
+			Integer hashCode = new Integer(javaProject.getProject().hashCode());
+			key = keys.get(hashCode);
+			if(key == null){
+				keys.put(hashCode, hashCode);
+				key = hashCode;
+			}
+			Integer retryCount = (Integer)retries.get(key);
+			if(retryCount == null){
+				retryCount = new Integer(1);
+			} else if(retryCount.intValue() > MAX_RETRIES){
+				return;
+			} else {
+				retryCount = new Integer(retryCount.intValue() + 1);
+			}
+			retries.put(key, retryCount);
+			J2EEComponentClasspathUpdater.getInstance().queueUpdate(javaProject.getProject());
+			return;
+		} else {
+			if(key != null){
+				retries.remove(key);
+				keys.remove(key);
+			}
 		}
 		
-		IFile dotClasspath = javaProject.getProject().getFile(ProjectUtilities.DOT_CLASSPATH);
-		lastUpdate.dotClasspathModificationStamp = dotClasspath.exists() ? dotClasspath.getModificationStamp() : 0;
-		
 		IVirtualComponent comp = null;
 		IVirtualReference ref = null;
 		
-		IVirtualReference[] refs = component instanceof J2EEModuleVirtualComponent ? ((J2EEModuleVirtualComponent)component).getReferences(true, true): component.getReferences();
-
+		IVirtualReference[] refs = component instanceof J2EEModuleVirtualComponent ? ((J2EEModuleVirtualComponent)component).getReferences(false, true): component.getReferences();
+		lastUpdate.baseRefCount = refs.length;
+		
 		List refsList = new ArrayList();
 		Set refedComps = new HashSet();
 		refedComps.add(component);
@@ -170,6 +207,19 @@
 			refsList.add(refs[i]);
 			refedComps.add(refs[i].getReferencedComponent());
 		}
+
+		List <IVirtualReference> earLibReferences = getBaseEARLibRefs(component);
+		lastUpdate.baseLibRefCount = earLibReferences.size();
+		for(IVirtualReference earRef : earLibReferences){
+			IVirtualComponent earRefComp = earRef.getReferencedComponent();
+			// check if the referenced component is already visited - avoid cycles in the build path
+			if (!refedComps.contains(earRefComp)) {
+				// visit the referenced component
+				refsList.add(earRef);
+				refedComps.add(earRefComp);
+			}
+		}
+		
 		for(int i=0; i< refsList.size(); i++){
 			comp = ((IVirtualReference)refsList.get(i)).getReferencedComponent();
 			if(comp.isBinary()){
@@ -187,56 +237,26 @@
 		lastUpdate.isBinary = new boolean[lastUpdate.refCount];
 		lastUpdate.paths = new IPath[lastUpdate.refCount];
 
-		boolean isWeb = J2EEProjectUtilities.isDynamicWebProject(component.getProject());
+		boolean isWeb = JavaEEProjectUtilities.isDynamicWebProject(component.getProject());
 		boolean shouldAdd = true;
 
 		List entriesList = new ArrayList();
 
 		try {
 			IJavaProject javaProject = JavaCore.create(component.getProject());
-			Set existingEntries = new HashSet();
-			try {
-				IClasspathContainer container = JavaCore.getClasspathContainer(CONTAINER_PATH, javaProject);
-				List previousEntries = null;
-				if(null != container){
-					final IClasspathEntry[] containerEntries = container.getClasspathEntries();
-					previousEntries = Arrays.asList(containerEntries);
-				}
-				existingEntries.addAll(Arrays.asList(javaProject.getResolvedClasspath(true)));
-				if(null != previousEntries){
-					existingEntries.removeAll(previousEntries);
-				}
-				if(firstPreviousSelf != null){
-					existingEntries.removeAll(Arrays.asList(firstPreviousSelf.entries));
-				}
-				J2EEComponentClasspathContainer secondPreviousSelf = (J2EEComponentClasspathContainer)previousSelves.get(key);
-				if(firstPreviousSelf != secondPreviousSelf && secondPreviousSelf != null){
-					existingEntries.removeAll(Arrays.asList(secondPreviousSelf.entries));
-				}
-				
-				existingEntries.removeAll(Arrays.asList(entries));
 			
-			} catch (JavaModelException e) {
-				Logger.getLogger().logError(e);
-			}
-			//the default behavior is to always export these dependencies
-			boolean exportEntries = true;
 			boolean useJDTToControlExport = J2EEComponentClasspathContainerUtils.getDefaultUseEARLibrariesJDTExport();
 			if(useJDTToControlExport){
 				//if the default is not enabled, then check whether the container is being exported
-				try{
-					IClasspathEntry [] rawEntries = javaProject.getRawClasspath();
-					for(int i=0;i<rawEntries.length; i++){
-						IClasspathEntry entry = rawEntries[i];
-						if(entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER){
-							if(entry.getPath().equals(CONTAINER_PATH)){
-								exportEntries = entry.isExported();
-								break;
-							}
+				IClasspathEntry [] rawEntries = javaProject.readRawClasspath();
+				for(int i=0;i<rawEntries.length; i++){
+					IClasspathEntry entry = rawEntries[i];
+					if(entry.getEntryKind() == IClasspathEntry.CPE_CONTAINER){
+						if(entry.getPath().equals(CONTAINER_PATH)){
+							exportEntries = entry.isExported();
+							break;
 						}
 					}
-				}  catch (JavaModelException e) {
-					Logger.getLogger().logError(e);
 				}
 			}
 			
@@ -261,28 +281,24 @@
 						IFile iFile = archiveComp.getUnderlyingWorkbenchFile();
 						lastUpdate.paths[i] = iFile.getFullPath();
 					}
-					if (!isAlreadyOnClasspath(existingEntries, lastUpdate.paths[i])) {
-						ClasspathDecorations dec = decorationsManager.getDecorations( getPath().toString(), lastUpdate.paths[i].toString() );
-						
-						IPath srcpath = null;
-				        IPath srcrootpath = null;
-				        IClasspathAttribute[] attrs = {};
-				        IAccessRule[] access = {};
-						
-				        if( dec != null ) {
-				            srcpath = dec.getSourceAttachmentPath();
-				            srcrootpath = dec.getSourceAttachmentRootPath();
-				            attrs = dec.getExtraAttributes();
-				        }
-			        
-				        entriesList.add(JavaCore.newLibraryEntry( lastUpdate.paths[i], srcpath, srcrootpath, access, attrs, exportEntries ));
-					}
+					ClasspathDecorations dec = decorationsManager.getDecorations( getPath().toString(), lastUpdate.paths[i].toString() );
+					
+					IPath srcpath = null;
+			        IPath srcrootpath = null;
+			        IClasspathAttribute[] attrs = {};
+			        IAccessRule[] access = {};
+					
+			        if( dec != null ) {
+			            srcpath = dec.getSourceAttachmentPath();
+			            srcrootpath = dec.getSourceAttachmentRootPath();
+			            attrs = dec.getExtraAttributes();
+			        }
+			        IClasspathEntry newEntry = JavaCore.newLibraryEntry( lastUpdate.paths[i], srcpath, srcrootpath, access, attrs, exportEntries ); 
+			        entriesList.add(newEntry);
 				} else {
 					IProject project = comp.getProject();
 					lastUpdate.paths[i] = project.getFullPath();
-					if (!isAlreadyOnClasspath(existingEntries, lastUpdate.paths[i])) {
-						entriesList.add(JavaCore.newProjectEntry(lastUpdate.paths[i], exportEntries));
-					}
+					entriesList.add(JavaCore.newProjectEntry(lastUpdate.paths[i], exportEntries));
 				}
 			}
 		} finally {
@@ -291,27 +307,53 @@
 				entries[i] = (IClasspathEntry) entriesList.get(i);
 			}
 		}
-		previousSelves.put(key, this);
+	}
+
+	private List<IVirtualReference> getBaseEARLibRefs(IVirtualComponent component) {
+		List <IVirtualReference> libRefs = new ArrayList<IVirtualReference>();
+		// check for the references in the lib dirs of the referencing EARs
+		IVirtualComponent[] referencingList = component.getReferencingComponents();
+		for (IVirtualComponent referencingComp : referencingList) {
+			// check if the referencing component is an EAR
+			if (EarUtilities.isEARProject(referencingComp.getProject())) {
+				EARVirtualComponent earComp = (EARVirtualComponent) referencingComp;
+				// retrieve the EAR's library directory 
+				String libDir = EarUtilities.getEARLibDir(earComp);
+				// if the EAR version is lower than 5, then the library directory will be null
+				if (libDir != null) {
+					// check if the component itself is not in the library directory of this EAR - avoid cycles in the build patch
+					if (!libDir.equals(earComp.getReference(component.getName()).getRuntimePath().toString())) {
+						// retrieve the referenced components from the EAR
+						IVirtualReference[] earRefs = earComp.getReferences();
+						for (IVirtualReference earRef : earRefs) {
+							// check if the referenced component is in the library directory
+							boolean isInLibDir = libDir.equals(earRef.getRuntimePath().toString());
+							if(!isInLibDir){
+								IPath fullPath = earRef.getRuntimePath().append(earRef.getArchiveName());
+								isInLibDir = fullPath.removeLastSegments(1).toString().equals(libDir);
+							}
+							if (isInLibDir) {
+								libRefs.add(earRef);
+							}
+						}
+					}
+				}
+			}
+		}
+		return libRefs;
 	}
 
 	public static void install(IPath containerPath, IJavaProject javaProject) {
 		try{
 			J2EEComponentClasspathUpdater.getInstance().pauseUpdates();
-			Integer hashCode = new Integer(javaProject.getProject().hashCode());
-			Object key = keys.get(hashCode);
-			if(key == null){
-				keys.put(hashCode, hashCode);
-				key = hashCode;
-			}
 			final IJavaProject[] projects = new IJavaProject[]{javaProject};
 			final J2EEComponentClasspathContainer container = new J2EEComponentClasspathContainer(containerPath, javaProject);
 			container.update();
 			final IClasspathContainer[] conts = new IClasspathContainer[]{container};
 			try {
 				JavaCore.setClasspathContainer(containerPath, projects, conts, null);
-				previousSelves.put(key, container);
 			} catch (JavaModelException e) {
-				Logger.getLogger().log(e);
+				J2EEPlugin.logError(e);
 			}
 		} finally {
 			J2EEComponentClasspathUpdater.getInstance().resumeUpdates();
@@ -321,13 +363,6 @@
 	public void refresh(boolean force){
 		if(force || requiresUpdate()){
 			install(containerPath, javaProject);
-			if (J2EEComponentClasspathUpdater.shouldUpdateDependencyGraph())
-			{
-				// Update dependency graph
-				DependencyGraphManager.getInstance().forceRefresh();
-				// [202820]
-				J2EEComponentClasspathUpdater.setUpdateDependencyGraph(false);
-			}
 		}
 	}
 	
@@ -362,26 +397,5 @@
 	public IPath getPath() {
 		return containerPath;
 	}
-
-	/**
-	 * Taken from {@link JavaProject#isOnClasspath(org.eclipse.core.resources.IResource)}
-	 * 
-	 * @param classpath
-	 * @param newPath
-	 * @return
-	 */
-	private static boolean isAlreadyOnClasspath(Set classpath, IPath newPath) {
-		for (Iterator itr = classpath.iterator(); itr.hasNext();) {
-			IClasspathEntry entry = (IClasspathEntry) itr.next();
-			IPath entryPath = entry.getPath();
-			if (entryPath.equals(newPath)) { // package fragment roots must match exactly entry
-				// pathes (no exclusion there)
-				return true;
-			}
-			if (entryPath.isPrefixOf(newPath) && !Util.isExcluded(newPath, ((ClasspathEntry) entry).fullInclusionPatternChars(), ((ClasspathEntry) entry).fullExclusionPatternChars(), false)) {
-				return true;
-			}
-		}
-		return false;
-	}
-}
+		
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainerUtils.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainerUtils.java
index 93cfe14..93c5d77 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainerUtils.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathContainerUtils.java
@@ -8,6 +8,8 @@
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jst.common.jdt.internal.classpath.FlexibleProjectContainer;
+import org.eclipse.jst.common.jdt.internal.javalite.IJavaProjectLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaCoreLite;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 
 public class J2EEComponentClasspathContainerUtils {
@@ -57,20 +59,16 @@
 	}
 	
 	public static IClasspathEntry getInstalledContainerEntry(IJavaProject jproj, IPath classpathContainerPath) {
-		if (jproj.isOpen()) {
-			try {
-				IClasspathEntry[] cpes;
-				cpes = jproj.getRawClasspath();
-				for (int j = 0; j < cpes.length; j++) {
-					final IClasspathEntry cpe = cpes[j];
-					if (cpe.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-						if (cpe.getPath().equals(classpathContainerPath)) {
-							return cpe; // entry found
-						}
+		if(jproj.exists()){
+			IJavaProjectLite javaProjectLite = JavaCoreLite.create(jproj);
+			IClasspathEntry[] cpes = javaProjectLite.readRawClasspath();
+			for (int j = 0; j < cpes.length; j++) {
+				final IClasspathEntry cpe = cpes[j];
+				if (cpe.getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
+					if (cpe.getPath().equals(classpathContainerPath)) {
+						return cpe; // entry found
 					}
 				}
-			} catch (JavaModelException e) {
-				J2EEPlugin.getDefault().getLogger().logError(e);
 			}
 		}
 		// entry not found
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathInitializer.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathInitializer.java
index becfb2e..4e1042f 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathInitializer.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathInitializer.java
@@ -10,6 +10,10 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.internal.common.classpath;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.jdt.core.ClasspathContainerInitializer;
@@ -20,13 +24,32 @@
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jst.common.jdt.internal.classpath.ClasspathDecorations;
 import org.eclipse.jst.common.jdt.internal.classpath.ClasspathDecorationsManager;
+import org.eclipse.jst.j2ee.componentcore.util.EARVirtualComponent;
 
 public class J2EEComponentClasspathInitializer extends ClasspathContainerInitializer {
 
 	private static final ClasspathDecorationsManager decorations = J2EEComponentClasspathContainer.getDecorationsManager();
 	
+	private static final ThreadLocal < Map<EARVirtualComponent, List> > looseConfigCache = 
+		new ThreadLocal<Map<EARVirtualComponent,List>>();
+	
+	/**
+	 * Answer the loose config cache if we are in the process of initializing the class path container.
+	 * Otherwise answer null.
+	 */
+	public static Map<EARVirtualComponent, List> getLooseConfigCache(){
+		return looseConfigCache.get();
+	}
+	
 	public void initialize(IPath containerPath, IJavaProject javaProject) throws CoreException {
-		J2EEComponentClasspathContainer.install(containerPath, javaProject);
+		try {
+			looseConfigCache.set(new HashMap<EARVirtualComponent, List>(10));
+			J2EEComponentClasspathContainer.install(containerPath, javaProject);
+		}
+		finally {
+			looseConfigCache.set(null);
+		}
+	
 	}
 
 	public boolean canUpdateClasspathContainer(final IPath containerPath, final IJavaProject project) {
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathUpdater.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathUpdater.java
index 02ccd31..e30aeda 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathUpdater.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/J2EEComponentClasspathUpdater.java
@@ -41,7 +41,6 @@
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jst.common.jdt.internal.classpath.FlexibleProjectContainer;
 import org.eclipse.jst.j2ee.application.internal.operations.IModuleExtensions;
 import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent;
@@ -51,6 +50,10 @@
 import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.j2ee.model.IModelProvider;
+import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
+import org.eclipse.jst.javaee.application.Application;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.eclipse.wst.common.componentcore.internal.StructureEdit;
@@ -457,6 +460,11 @@
 	}
 	
 	public boolean visit(IResourceDelta delta) {
+		// If it is only a marker change, ignore the change
+		if(delta.getFlags() == IResourceDelta.MARKERS) {
+			return false;
+		}
+		
 		IResource resource = delta.getResource();
 		switch (resource.getType()) {
 		case IResource.ROOT:
@@ -472,7 +480,7 @@
 			if (comp instanceof J2EEModuleVirtualComponent || comp instanceof EARVirtualComponent) {
 				IVirtualFolder rootFolder = comp.getRootFolder();
 				if (comp instanceof EARVirtualComponent) {
-					return isRootAncester(resource, rootFolder);
+					return isRootAncester(resource, rootFolder) || isEARLibraryDirectory(resource, comp);
 				} else { // J2EEModuleVirtualComponent
 					return isRootAncester(resource, rootFolder) || isFolder(resource, rootFolder.getFolder(J2EEConstants.META_INF));
 				}
@@ -481,18 +489,18 @@
 		}
 		case IResource.FILE: {
 			String name = resource.getName();
-			if (name.equals(WTPModulesResourceFactory.WTP_MODULES_SHORT_NAME) || name.equals(ProjectUtilities.DOT_CLASSPATH)) {
+			if (name.equals(WTPModulesResourceFactory.WTP_MODULES_SHORT_NAME)) {
 				queueUpdate(resource.getProject());
 			} else if (name.equals(J2EEConstants.MANIFEST_SHORT_NAME)) { // MANIFEST.MF must be all caps per spec
 				IFile manifestFile = J2EEProjectUtilities.getManifestFile(resource.getProject(), false);
 				if (null == manifestFile || resource.equals(manifestFile)) {
 					queueUpdateModule(resource.getProject());
 				}
-			} else if (endsWithIgnoreCase(name, IModuleExtensions.DOT_JAR)) {
+			} else if (endsWithIgnoreCase(name, IModuleExtensions.DOT_JAR) || endsWithIgnoreCase(name, ".zip")) {
 				try {
 					if (FacetedProjectFramework.hasProjectFacet(resource.getProject(), J2EEProjectUtilities.ENTERPRISE_APPLICATION)) {
 						IVirtualComponent comp = ComponentCore.createComponent(resource.getProject());
-						if(isFolder(resource.getParent(), comp.getRootFolder())){
+						if(isFolder(resource.getParent(), comp.getRootFolder()) || isEARLibraryDirectory(resource, comp)){
 							queueUpdateEAR(resource.getProject());
 						}
 					}
@@ -506,6 +514,33 @@
 		}
 	}
 	
+	private boolean isEARLibraryDirectory(IResource resource, IVirtualComponent earComponent) {
+		// check if the EAR component's version is 5 or greater
+		IProject project = earComponent.getProject();
+		if (!JavaEEProjectUtilities.isJEEComponent(earComponent, JavaEEProjectUtilities.DD_VERSION)) return false;
+		
+		// retrieve the model provider
+		IModelProvider modelProvider = ModelProviderManager.getModelProvider(project);
+		if (modelProvider == null) return false;
+		
+		// retrieve the EAR's model object
+		Application app = (Application) modelProvider.getModelObject();
+		if (app == null) return false;
+		
+		// retrieve the library directory from the model
+		String libDir = app.getLibraryDirectory();
+		if (libDir == null) {
+			// the library directory is not set - use the default one
+			libDir = J2EEConstants.EAR_DEFAULT_LIB_DIR;
+		}
+		
+		IVirtualFolder libFolder = earComponent.getRootFolder().getFolder(libDir); 
+		if(resource.getType() == IResource.FILE){
+			return isRootAncester(resource.getParent(), libFolder);
+		}
+		return isRootAncester(resource, libFolder);
+	}
+
 	public static boolean endsWithIgnoreCase(String str, String sfx) {
 		return str.regionMatches(true, str.length() - sfx.length(), sfx, 0, sfx.length());
 	}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpOsgiBundlesLibraryProviderInstallOperation.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpOsgiBundlesLibraryProviderInstallOperation.java
new file mode 100644
index 0000000..548a0f6
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpOsgiBundlesLibraryProviderInstallOperation.java
@@ -0,0 +1,25 @@
+/******************************************************************************
+ * Copyright (c) 2008 Oracle
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Konstantin Komissarchik - initial implementation and ongoing maintenance
+ ******************************************************************************/
+
+package org.eclipse.jst.j2ee.internal.common.classpath;
+
+import org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperation;
+
+/**
+ * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
+ */
+
+public class WtpOsgiBundlesLibraryProviderInstallOperation
+
+    extends OsgiBundlesLibraryProviderInstallOperation
+    
+{
+}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpOsgiBundlesLibraryProviderInstallOperationConfig.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpOsgiBundlesLibraryProviderInstallOperationConfig.java
new file mode 100644
index 0000000..6354184
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpOsgiBundlesLibraryProviderInstallOperationConfig.java
@@ -0,0 +1,135 @@
+/******************************************************************************
+ * Copyright (c) 2008 Oracle
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Konstantin Komissarchik - initial implementation and ongoing maintenance
+ ******************************************************************************/
+
+package org.eclipse.jst.j2ee.internal.common.classpath;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IClasspathAttribute;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
+import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderFramework;
+import org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesContainer;
+import org.eclipse.jst.common.project.facet.core.libprov.osgi.OsgiBundlesLibraryProviderInstallOperationConfig;
+import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
+import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
+import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+
+/**
+ * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
+ */
+
+public class WtpOsgiBundlesLibraryProviderInstallOperationConfig
+
+    extends OsgiBundlesLibraryProviderInstallOperationConfig
+    
+{
+    private static final String CLASS_NAME 
+        = WtpOsgiBundlesLibraryProviderInstallOperationConfig.class.getName();
+    
+    public static final String PROP_INCLUDE_WITH_APPLICATION_ENABLED 
+        = CLASS_NAME + ".INCLUDE_WITH_APPLICATION_ENABLED"; //$NON-NLS-1$
+
+    private static final IProjectFacet WEB_FACET 
+        = ProjectFacetsManager.getProjectFacet( IJ2EEFacetConstants.DYNAMIC_WEB );
+
+    private boolean includeWithApplication = true;
+    
+    public boolean isIncludeWithApplicationEnabled()
+    {
+        return this.includeWithApplication;
+    }
+    
+    public void setIncludeWithApplicationEnabled( final boolean includeWithApplication )
+    {
+        final boolean oldValue = this.includeWithApplication;
+        this.includeWithApplication = includeWithApplication;
+        notifyListeners( PROP_INCLUDE_WITH_APPLICATION_ENABLED, oldValue, this.includeWithApplication );
+    }
+
+    @Override
+    public synchronized void init( final IFacetedProjectBase fproj,
+                                   final IProjectFacetVersion fv,
+                                   final ILibraryProvider provider )
+    {
+        super.init( fproj, fv, provider );
+        
+        this.includeWithApplication = true;
+        
+        final IProject project = fproj.getProject();
+        
+        if( project != null )
+        {
+            final IProjectFacet f = fv.getProjectFacet();
+            
+            final ILibraryProvider currentProvider 
+                = LibraryProviderFramework.getCurrentProvider( project, f );
+            
+            if( currentProvider == provider )
+            {
+                final IPath path = OsgiBundlesContainer.CONTAINER_PATH.append( f.getId() );
+                final IJavaProject jproj = JavaCore.create( project );
+                
+                try
+                {
+                    for( IClasspathEntry cpe : jproj.getRawClasspath() )
+                    {
+                        if( path.equals( cpe.getPath() ) )
+                        {
+                            this.includeWithApplication = true;
+                            
+                            for( IClasspathAttribute attr : cpe.getExtraAttributes() )
+                            {
+                                if( attr.getName().equals( IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY ) )
+                                {
+                                    this.includeWithApplication = false;
+                                }
+                            }
+                        }
+                    }
+                }
+                catch( CoreException e )
+                {
+                    throw new RuntimeException( e );
+                }
+            }
+        }
+    }
+    
+    @Override
+    public IClasspathAttribute[] getClasspathAttributes()
+    {
+        final IFacetedProjectBase fproj = getFacetedProject();
+        final boolean isWebProject = fproj.hasProjectFacet( WEB_FACET );
+        
+        final IClasspathAttribute attr;
+        
+        if( isIncludeWithApplicationEnabled() )
+        {
+            attr = JavaCore.newClasspathAttribute( IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY,
+                                                   ClasspathDependencyUtil.getDefaultRuntimePath( isWebProject ).toString() );
+        }
+        else
+        {
+            attr = JavaCore.newClasspathAttribute( IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY, "" );
+        }
+        
+        return new IClasspathAttribute[]{ attr };
+    }
+    
+}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpUserLibraryProviderInstallOperation.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpUserLibraryProviderInstallOperation.java
new file mode 100644
index 0000000..325d892
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpUserLibraryProviderInstallOperation.java
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * Copyright (c) 2008 Oracle
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Konstantin Komissarchik - initial implementation and ongoing maintenance
+ ******************************************************************************/
+
+package org.eclipse.jst.j2ee.internal.common.classpath;
+
+import org.eclipse.jdt.core.IClasspathAttribute;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperation;
+import org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig;
+import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
+import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
+import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+
+/**
+ * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
+ */
+
+public class WtpUserLibraryProviderInstallOperation
+
+    extends UserLibraryProviderInstallOperation
+    
+{
+    private static final IProjectFacet WEB_FACET 
+        = ProjectFacetsManager.getProjectFacet( IJ2EEFacetConstants.DYNAMIC_WEB );
+    
+    @Override
+    protected IClasspathEntry createClasspathEntry( final UserLibraryProviderInstallOperationConfig config,
+                                                    final String libraryName )
+    {
+        final WtpUserLibraryProviderInstallOperationConfig cfg
+            = (WtpUserLibraryProviderInstallOperationConfig) config;
+        
+        final IFacetedProjectBase fproj = cfg.getFacetedProject();
+        final boolean isWebProject = fproj.hasProjectFacet( WEB_FACET );
+        
+        final IClasspathAttribute attr;
+        
+        if( cfg.isIncludeWithApplicationEnabled() )
+        {
+            attr = JavaCore.newClasspathAttribute( IClasspathDependencyConstants.CLASSPATH_COMPONENT_DEPENDENCY,
+                                                   ClasspathDependencyUtil.getDefaultRuntimePath( isWebProject ).toString() );
+        }
+        else
+        {
+            attr = JavaCore.newClasspathAttribute( IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY, "" );
+        }
+        
+        IClasspathEntry cpe = super.createClasspathEntry( config, libraryName );
+        cpe = JavaCore.newContainerEntry( cpe.getPath(), null, new IClasspathAttribute[]{ attr }, false );
+        
+        return cpe;
+    }
+    
+}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpUserLibraryProviderInstallOperationConfig.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpUserLibraryProviderInstallOperationConfig.java
new file mode 100644
index 0000000..8828101
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/classpath/WtpUserLibraryProviderInstallOperationConfig.java
@@ -0,0 +1,121 @@
+/******************************************************************************
+ * Copyright (c) 2008 Oracle
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Konstantin Komissarchik - initial implementation and ongoing maintenance
+ ******************************************************************************/
+
+package org.eclipse.jst.j2ee.internal.common.classpath;
+
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.jdt.core.IClasspathAttribute;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.common.project.facet.core.internal.ClasspathUtil;
+import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
+import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderFramework;
+import org.eclipse.jst.common.project.facet.core.libprov.user.UserLibraryProviderInstallOperationConfig;
+import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
+import org.eclipse.wst.common.project.facet.core.IFacetedProjectBase;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+
+/**
+ * @author <a href="mailto:konstantin.komissarchik@oracle.com">Konstantin Komissarchik</a>
+ */
+
+public class WtpUserLibraryProviderInstallOperationConfig
+
+    extends UserLibraryProviderInstallOperationConfig
+    
+{
+    private static final String CLASS_NAME 
+        = WtpUserLibraryProviderInstallOperationConfig.class.getName();
+    
+    public static final String PROP_INCLUDE_WITH_APPLICATION_ENABLED 
+        = CLASS_NAME + ".INCLUDE_WITH_APPLICATION_ENABLED"; //$NON-NLS-1$
+
+    private boolean includeWithApplication = true;
+    
+    public boolean isIncludeWithApplicationEnabled()
+    {
+        return this.includeWithApplication;
+    }
+    
+    public void setIncludeWithApplicationEnabled( final boolean includeWithApplication )
+    {
+        final boolean oldValue = this.includeWithApplication;
+        this.includeWithApplication = includeWithApplication;
+        notifyListeners( PROP_INCLUDE_WITH_APPLICATION_ENABLED, oldValue, this.includeWithApplication );
+    }
+
+    @Override
+    public synchronized void init( final IFacetedProjectBase fproj,
+                                   final IProjectFacetVersion fv,
+                                   final ILibraryProvider provider )
+    {
+        super.init( fproj, fv, provider );
+        
+        this.includeWithApplication = true;
+        
+        final IProject project = fproj.getProject();
+        
+        if( project != null )
+        {
+            final IProjectFacet f = fv.getProjectFacet();
+            
+            final ILibraryProvider currentProvider 
+                = LibraryProviderFramework.getCurrentProvider( project, f );
+            
+            if( currentProvider == provider )
+            {
+                final List<IClasspathEntry> entries;
+                
+                try
+                {
+                    entries = ClasspathUtil.getClasspathEntries( project, f );
+                }
+                catch( CoreException e )
+                {
+                    throw new RuntimeException( e );
+                }
+                
+                this.includeWithApplication = getIncludeWithApplicationSetting( entries );
+            }
+        }
+    }
+    
+    private static boolean getIncludeWithApplicationSetting( final List<IClasspathEntry> entries )
+    {
+        for( IClasspathEntry cpe : entries )
+        {
+            if( cpe.getEntryKind() == IClasspathEntry.CPE_CONTAINER )
+            {
+                final IPath path = cpe.getPath();
+                
+                if( path.segmentCount() >= 2 && path.segment( 0 ).equals( JavaCore.USER_LIBRARY_CONTAINER_ID ) )
+                {
+                    for( IClasspathAttribute attr : cpe.getExtraAttributes() )
+                    {
+                        if( attr.getName().equals( IClasspathDependencyConstants.CLASSPATH_COMPONENT_NON_DEPENDENCY ) )
+                        {
+                            return false;
+                        }
+                    }
+                }
+            }
+        }
+        
+        return true;
+    }
+    
+    
+}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java
index 31f0a0f..fe85b7b 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/INewJavaClassDataModelProperties.java
@@ -105,5 +105,9 @@
 	 * THIS PROPERTY SHOULD NOT BE SET, it's value is meant to be determined as a helper method
 	 */
 	public static final String QUALIFIED_CLASS_NAME = "NewJavaClassDataModel.QUALIFIED_CLASS_NAME"; //$NON-NLS-1$
-	
+
+	/**
+	 * Required, String property used to determine if a default deployment descriptor should be created
+	 */
+	public static final String GENERATE_DD = "INewJavaClassDataModelProperties.GENERATE_DD"; //$NON-NLS-1$
 }
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/ImportsCollection.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/ImportsCollection.java
index de04584..4d2456e 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/ImportsCollection.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/ImportsCollection.java
@@ -86,13 +86,13 @@
 		return collection.toArray(a);
 	}
 	
-    private boolean isImportInJavaLang(String arg) {
-    	return arg.startsWith("java.lang."); 
+    private boolean isImportInJavaLang(String quilifiedName) {
+    	String qualifier = Signature.getQualifier(quilifiedName);
+    	return quilifiedName.startsWith("java.lang."); //$NON-NLS-1$
     }
     
-    private boolean isImportInSamePackage(String arg) {
-    	String qualifier = Signature.getQualifier(arg);
-    	
+    private boolean isImportInSamePackage(String quilifiedName) {
+    	String qualifier = Signature.getQualifier(quilifiedName);
     	return qualifier.equals(model.getJavaPackageName());
     }
 
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java
index a3a456c..b0428d7 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaClassDataModelProvider.java
@@ -26,6 +26,7 @@
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.QUALIFIED_CLASS_NAME;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.SOURCE_FOLDER;
 import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.SUPERCLASS;
+import static org.eclipse.jst.j2ee.internal.common.operations.INewJavaClassDataModelProperties.GENERATE_DD;
 
 import java.lang.reflect.Modifier;
 import java.net.URI;
@@ -192,6 +193,7 @@
 		propertyNames.add(JAVA_SOURCE_FOLDER);
 		propertyNames.add(PROJECT);
 		propertyNames.add(QUALIFIED_CLASS_NAME);
+		propertyNames.add(GENERATE_DD);
 		return propertyNames;
 	}
 
@@ -235,6 +237,8 @@
 			return getJavaPackageFragmentRoot();
 		else if (propertyName.equals(QUALIFIED_CLASS_NAME))
 			return getQualifiedClassName();
+		else if (GENERATE_DD.equals(propertyName))
+			return Boolean.FALSE;
 		return super.getDefaultProperty(propertyName);
 	}
 
@@ -552,7 +556,7 @@
 	public boolean propertySet(String propertyName, Object propertyValue) {
 		boolean result = super.propertySet(propertyName, propertyValue);
 		if (result) {
-			if (COMPONENT_NAME.equals(propertyName)){
+			if (COMPONENT_NAME.equals(propertyName) || PROJECT_NAME.equals(propertyName)){
 				if( getDefaultJavaSourceFolder() != null ){
 					setProperty(SOURCE_FOLDER, getDefaultJavaSourceFolder().getFullPath().toOSString());
 				}
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaEEArtifactClassOperation.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaEEArtifactClassOperation.java
index 1b20fccd..e783d13 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaEEArtifactClassOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/internal/common/operations/NewJavaEEArtifactClassOperation.java
@@ -16,6 +16,7 @@
 import static org.eclipse.wst.common.componentcore.internal.operation.IArtifactEditOperationDataModelProperties.PROJECT_NAME;
 
 import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.net.URL;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -32,7 +33,7 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.codegen.jet.JETEmitter;
+import org.eclipse.core.runtime.Preferences;
 import org.eclipse.emf.codegen.jet.JETException;
 import org.eclipse.jdt.core.IJavaModelMarker;
 import org.eclipse.jdt.core.IPackageFragment;
@@ -52,6 +53,11 @@
 	 * The extension name for a java class
 	 */
 	protected static final String DOT_JAVA = ".java"; //$NON-NLS-1$
+	
+	/**
+	 * Method name of template implementation classes. 
+	 */
+	protected static final String GENERATE_METHOD = "generate"; //$NON-NLS-1$
 
 	public NewJavaEEArtifactClassOperation(IDataModel dataModel) {
 		super(dataModel);
@@ -135,32 +141,111 @@
 	}
 
 	/**
-	 * This method is intended for internal use only. This will use the
-	 * WTPJETEmitter to create an annotated java file based on the passed in
-	 * bean class template model. This method does not accept null
-	 * parameters. It will not return null. If annotations are not used, it will
-	 * use the non annotated template to omit the annotated tags.
+	 * This method checks the
+	 * {@link J2EEPlugin#DYNAMIC_TRANSLATION_OF_JET_TEMPLATES_PREF_KEY}
+	 * preference to determine the method for generating the source code of the
+	 * Java EE artifact:
+	 * <ul>
+	 * 		<li>dynamically using the provided JET template file, or</li>
+	 * 		<li>using the statically build-in template implementation class. </li> 
+	 * </ul>
 	 * 
-	 * @see NewMessageDrivenBeanClassOperation#generateUsingTemplates(IProgressMonitor,
-	 *      IPackageFragment)
-	 * @see JETEmitter#generate(org.eclipse.core.runtime.IProgressMonitor,
-	 *      java.lang.Object[])
-	 * @see CreateMessageDrivenBeanTemplateModel
-	 * 
-	 * @param tempModel
+	 * @param plugin
+	 *            - the plugin which calls the current method
+	 * @param templateModel
+	 *            - a template model that is used by the JET template file or
+	 *            the template implementation class
+	 * @param templateFile
+	 *            - a Java JET template file
+	 * @param templateImpl
+	 *            - a Java JET template implementation class
 	 * @param monitor
-	 * @param template_file2 
-	 * @return String the source for the java file
+	 *            - a monitor to report the progress of the code generation
+	 * @param templateImpl
+	 *            - a Java JET template implementation class
+	 * 
+	 * @return a String object with the generated source code
+	 * 
 	 * @throws JETException
+	 *             if a problem occurs in during code generation
+	 * 
+	 * @see #generateTemplateSource(WTPPlugin,
+	 *      CreateJavaEEArtifactTemplateModel, String, IProgressMonitor)
+	 * @see #generateTemplateSource(CreateJavaEEArtifactTemplateModel, Object)
 	 */
-	protected String generateTemplateSource(WTPPlugin plugin, CreateJavaEEArtifactTemplateModel tempModel, String template_file, IProgressMonitor monitor) throws JETException {
-		URL templateURL = FileLocator.find(plugin.getBundle(), new Path(template_file), null);
+	protected String generateTemplateSource(WTPPlugin plugin, CreateJavaEEArtifactTemplateModel templateModel, String templateFile, Object templateImpl, IProgressMonitor monitor) 
+			throws JETException {
+		Preferences preferences = J2EEPlugin.getDefault().getPluginPreferences();
+		boolean dynamicTranslation = preferences.getBoolean(J2EEPlugin.DYNAMIC_TRANSLATION_OF_JET_TEMPLATES_PREF_KEY);
+		
+		if (dynamicTranslation) {
+			return generateTemplateSource(plugin, templateModel, templateFile, monitor);
+		} else {
+			return generateTemplateSource(templateModel, templateImpl);
+		}
+	}
+	
+	/**
+	 * This method uses the statically built-in template implementation class to
+	 * generate the source code of the Java EE artifact with the given template
+	 * model.
+	 * 
+	 * @param templateModel
+	 *            - a template model that is used by the template implementation
+	 *            class
+	 * @param templateImpl
+	 *            - a Java JET template implementation class
+	 * 
+	 * @return a String object with the generated source code
+	 * 
+	 * @throws JETException
+	 *             if a problem occurs in during code generation
+	 */
+	protected String generateTemplateSource(CreateJavaEEArtifactTemplateModel templateModel, Object templateImpl) 
+			throws JETException {
+		try {
+			Method method = templateImpl.getClass().getMethod(GENERATE_METHOD, new Class[] { Object.class });
+			return (String) method.invoke(templateImpl, templateModel);
+		} catch (SecurityException e) {
+			throw new JETException(e);
+		} catch (NoSuchMethodException e) {
+			throw new JETException(e);
+		} catch (IllegalArgumentException e) {
+			throw new JETException(e);
+		} catch (IllegalAccessException e) {
+			throw new JETException(e);
+		} catch (InvocationTargetException e) {
+			throw new JETException(e);
+		}
+	}
+
+	/**
+	 * This method uses the WTPJETEmitter to generate the source code of the
+	 * Java EE artifact with the given template model and template file.
+	 * 
+	 * @param plugin
+	 *            - the plugin which calls the current method
+	 * @param templateModel
+	 *            - a template model that is used by the JET template file
+	 * @param templateFile
+	 *            - a Java JET template file
+	 * @param monitor
+	 *            - a monitor to report the progress of the code generation
+	 * 
+	 * @return a String object with the generated source code
+	 * 
+	 * @throws JETException
+	 *             if a problem occurs in the JET emitter
+	 */
+	protected String generateTemplateSource(WTPPlugin plugin, CreateJavaEEArtifactTemplateModel templateModel, String templateFile, IProgressMonitor monitor) 
+			throws JETException {
+		URL templateURL = FileLocator.find(plugin.getBundle(), new Path(templateFile), null);
 		cleanUpOldEmitterProject();
 		WTPJETEmitter emitter = new WTPJETEmitter(templateURL.toString(), this.getClass().getClassLoader());
 		emitter.setIntelligentLinkingEnabled(true);
 		emitter.addVariable(J2EEPlugin.getPlugin().getPluginID(), J2EEPlugin.getPlugin().getPluginID());
 		emitter.addVariable(plugin.getPluginID(), plugin.getPluginID());
-		return emitter.generate(monitor, new Object[] { tempModel });
+		return emitter.generate(monitor, new Object[] { templateModel });
 	}
 
 	protected void cleanUpOldEmitterProject() {
diff --git a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java
index 408a913..78ab56f 100644
--- a/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java
+++ b/plugins/org.eclipse.jst.j2ee/common/org/eclipse/jst/j2ee/model/ModelProviderManager.java
@@ -193,16 +193,21 @@
 				notifyModelProviders(event);
 			
 		}
-		
 
 	/**
 	 * Used to register an IModelProviderFactory against a facet version
-	 * @param providerFactory - {@link IModelProviderFactory}
-	 * @param v - {@link IProjectFacetVersion}
-	 * @param priority - {@link String}- Used to allow multiple instances, the highest priority is chosen
+	 * 
+	 * @param providerFactory
+	 *            - {@link IModelProviderFactory}
+	 * @param v
+	 *            - {@link IProjectFacetVersion}
+	 * @param priority
+	 *            - {@link String}- Used to allow multiple instances, the
+	 *            highest priority is chosen. Priority '0' is higher that
+	 *            priority '1'. If priorities are equal the new providerFactory
+	 *            is chosen.
 	 */
-	public static void registerProvider(IModelProviderFactory providerFactory,
-			IProjectFacetVersion v, String priority) {
+	public static void registerProvider(IModelProviderFactory providerFactory, IProjectFacetVersion v, String priority) {
 
 		int newPriority = (priority != null) ? Integer.parseInt(priority) : DEFAULT_PRIORITY;
 		int currentPriority = getProviderPriority(v);
@@ -245,8 +250,11 @@
 
 
 	private static void initProviders() {
-		providers = new HashMap();
-		registry = J2EEModelProviderRegistry.getInstance();
+		//Make sure both variables are null to prevent re-entrant behavior
+		if (registry == null && providers == null) {
+			providers = new HashMap();
+			registry = J2EEModelProviderRegistry.getInstance();
+		}
 		
 	}
 	private static void startListeningToResourceSet(IProject project) {
@@ -275,16 +283,18 @@
 
 	private static IProjectFacetVersion getDefaultFacet(IProject proj) {
 		String type = J2EEProjectUtilities.getJ2EEProjectType(proj);
-		IProjectFacet facet = ProjectFacetsManager.getProjectFacet(type);
-		IFacetedProject fp = null;
-		try {
-			fp = ProjectFacetsManager.create(proj);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		if (fp != null && facet != null) {
-			return fp.getInstalledVersion(facet);
+		if( ProjectFacetsManager.isProjectFacetDefined(type)) {
+			IProjectFacet facet = ProjectFacetsManager.getProjectFacet(type);
+			IFacetedProject fp = null;
+			try {
+				fp = ProjectFacetsManager.create(proj);
+			} catch (CoreException e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+			if (fp != null && facet != null) {
+				return fp.getInstalledVersion(facet);
+			}
 		}
 		return null;
 			
@@ -313,7 +323,7 @@
 		return null;			
 	}
 
-	private static HashMap<ModelProviderKey, IModelProviderFactory> getProviders() {
+	private synchronized static HashMap<ModelProviderKey, IModelProviderFactory> getProviders() {
 		if (registry == null)
 			initProviders();
 		return providers;
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java
index 48817a5..ad289ee 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationDataModelProvider.java
@@ -13,6 +13,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
@@ -26,6 +27,12 @@
 		super();
 	}
 
+	public Set getPropertyNames() {
+		Set propertyNames = super.getPropertyNames();
+		propertyNames.add(J2EE_LIB_ELEMENTS_LIST);
+		return propertyNames;
+	}
+	
 	public Object getDefaultProperty(String propertyName) {
 		if (TARGET_COMPONENTS_TO_URI_MAP.equals(propertyName)) {
 			Map map = new HashMap();
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java
index 01c62aa..56bfd43 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/AddComponentToEnterpriseApplicationOp.java
@@ -10,30 +10,33 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.application.internal.operations;
 
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Properties;
 import java.util.Set;
 
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.SubProgressMonitor;
 import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.jst.j2ee.application.WebModule;
 import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent;
-import org.eclipse.jst.j2ee.internal.J2EEConstants;
+import org.eclipse.jst.j2ee.componentcore.util.EARVirtualComponent;
+import org.eclipse.jst.j2ee.internal.ICommonEMFModule;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
 import org.eclipse.jst.j2ee.model.IEARModelProvider;
 import org.eclipse.jst.j2ee.model.IModelProvider;
 import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.j2ee.project.EarUtilities;
 import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
 import org.eclipse.jst.j2ee.project.facet.EarFacetRuntimeHandler;
 import org.eclipse.jst.javaee.application.ApplicationFactory;
@@ -46,12 +49,11 @@
 import org.eclipse.wst.common.componentcore.internal.StructureEdit;
 import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
 import org.eclipse.wst.common.componentcore.internal.operation.CreateReferenceComponentsOp;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
-import org.eclipse.wst.common.project.facet.core.IFacetedProject;
-import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.internal.emf.resource.CompatibilityXMIResource;
 
 public class AddComponentToEnterpriseApplicationOp extends CreateReferenceComponentsOp {
 	public static final String metaInfFolderDeployPath = "/"; //$NON-NLS-1$
@@ -62,7 +64,7 @@
 
 	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
 		if (monitor != null) {
-			monitor.beginTask("", 3);
+			monitor.beginTask("", 4);
 		}
 		try {
 			J2EEComponentClasspathUpdater.getInstance().pauseUpdates();
@@ -73,6 +75,7 @@
 					return Status.CANCEL_STATUS;
 				updateEARDD(submon(monitor, 1));
 				updateModuleRuntimes(submon(monitor, 1));
+				moduleClasspathForceUpdate(submon(monitor, 1));
 			}
 			return status;
 		} finally {
@@ -83,39 +86,22 @@
 		}
 	}
 
-	protected String getArchiveName(IVirtualComponent comp) {
-		boolean useArchiveURI = true;
-		IFacetedProject facetedProject = null;
-		try {
-			facetedProject = ProjectFacetsManager.create(comp.getProject());
-		} catch (CoreException e) {
-			useArchiveURI = false;
-		}
-
-		if (useArchiveURI && facetedProject != null && ProjectFacetsManager.isProjectFacetDefined(IModuleConstants.JST_UTILITY_MODULE)) {
-			IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(IModuleConstants.JST_UTILITY_MODULE);
-			useArchiveURI = projectFacet != null && facetedProject.hasProjectFacet(projectFacet);
-		}
-		if (useArchiveURI) {
-			return super.getArchiveName(comp);
-		}
-		return ""; //$NON-NLS-1$
-	}
-
 	protected void updateEARDD(IProgressMonitor monitor) {
 		
 		StructureEdit se = null;
 		try {
 			IVirtualComponent sourceComp = (IVirtualComponent) model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT);
 			final IEARModelProvider earModel = (IEARModelProvider)ModelProviderManager.getModelProvider(sourceComp.getProject());
-			
+			final IVirtualComponent ear = (IVirtualComponent) this.model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT);
+			final IProject earpj = ear.getProject();
 			se = StructureEdit.getStructureEditForWrite(sourceComp.getProject());
 			if (earModel != null) {
 				List list = (List) model.getProperty(ICreateReferenceComponentsDataModelProperties.TARGET_COMPONENT_LIST);
+				final List libList = (List) model.getProperty(IAddComponentToEnterpriseApplicationDataModelProperties.J2EE_LIB_ELEMENTS_LIST);
 				final Map map = (Map) model.getProperty(IAddComponentToEnterpriseApplicationDataModelProperties.TARGET_COMPONENTS_TO_URI_MAP);
 				if (list != null && list.size() > 0) {
 					for (int i = 0; i < list.size(); i++) {
-						StructureEdit compse = null;
+						
 						final IVirtualComponent wc = (IVirtualComponent) list.get(i);
 						boolean linkedToEAR = true;
 						try{
@@ -124,6 +110,7 @@
 								((J2EEModuleVirtualArchiveComponent)wc).setLinkedToEAR(false);
 							}
 							WorkbenchComponent earwc = se.getComponent();
+							StructureEdit compse = null;
 							try {
 								compse = StructureEdit.getStructureEditForWrite(wc.getProject());
 								WorkbenchComponent refwc = compse.getComponent();
@@ -132,11 +119,30 @@
 									public void run() {
 										final ICommonApplication application = (ICommonApplication)earModel.getModelObject();
 										if(application != null) {
+											boolean isEE5 = JavaEEProjectUtilities.getJ2EEDDProjectVersion(earpj).equals(
+													J2EEVersionConstants.VERSION_5_0_TEXT);
+											if(isEE5 && (libList !=null && libList.contains(wc)))
+												return;
 											ICommonModule mod = addModule(application, wc, (String) map.get(wc));
-											if (ref!=null)
-												ref.setDependentObject((EObject)mod);
+											if(mod != null){
+												if (ref!=null)
+													ref.setDependentObject((EObject)mod);
+												if (JavaEEProjectUtilities.isStaticWebProject(wc.getProject())
+														|| JavaEEProjectUtilities.isDynamicWebComponent(wc)) {
+													updateContextRoot(earpj, wc, mod);
+												}
+												
+												Resource theResource = ((EObject)mod).eResource();
+												if (theResource != null)
+												{
+													String frag = null;
+													if (theResource instanceof CompatibilityXMIResource)
+														frag = theResource.getURIFragment((EObject)mod);
+													((ICommonEMFModule)mod).setId(frag);
+												}
+											}
 										}
-									}
+									}						
 								}, null);
 							} finally {
 								if (compse != null) {
@@ -161,20 +167,41 @@
 		}
 	}
 
+	private void updateContextRoot(final IProject earpj, final IVirtualComponent wc,
+			ICommonModule mod) {
+		boolean useNewModel = JavaEEProjectUtilities.getJ2EEDDProjectVersion(earpj).equals(
+				J2EEVersionConstants.VERSION_5_0_TEXT);
+		String contextroot = ComponentUtilities.getServerContextRoot(wc.getProject());
+		if (contextroot == null) {
+			contextroot = wc.getProject().getName();
+		}
+		if (useNewModel) {
+			if (mod instanceof Module) {
+				// safety check
+				Module module = (Module) mod;
+				Web web = ((Module) mod).getWeb();
+				web.setContextRoot(contextroot);
+			}
+		}
+		else {
+			if (JavaEEProjectUtilities.isStaticWebProject(wc.getProject())
+					|| JavaEEProjectUtilities.isDynamicWebComponent(wc)) {
+				if (mod instanceof WebModule) {
+					((WebModule) mod).setContextRoot(contextroot);
+				}
+			}
+		}
+	}
+	
 	protected ICommonModule createNewModule(IVirtualComponent wc, String name) {
 		ICommonModule newModule = null;
 		final IVirtualComponent ear = (IVirtualComponent) this.model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT);
 		final IProject earpj = ear.getProject();
 		boolean useNewModel = JavaEEProjectUtilities.getJ2EEDDProjectVersion(earpj).equals(J2EEVersionConstants.VERSION_5_0_TEXT);
-		//[Bug 238264] need to use componenet to determine type of project incase component is binary
+		//[Bug 238264] need to use component to determine type of project in-case component is binary
 		if (JavaEEProjectUtilities.isDynamicWebComponent(wc)) {
-			Properties props = wc.getMetaProperties();
-			String contextroot = ""; //$NON-NLS-1$
-			if ((props != null) && (props.containsKey(J2EEConstants.CONTEXTROOT)))
-				contextroot = props.getProperty(J2EEConstants.CONTEXTROOT);
 			if (useNewModel) {
 				Web web = ApplicationFactory.eINSTANCE.createWeb();
-				web.setContextRoot(contextroot);
 				web.setWebUri(name);
 				Module webModule = ApplicationFactory.eINSTANCE.createModule();
 				webModule.setWeb(web);
@@ -183,9 +210,9 @@
 			else {
 				org.eclipse.jst.j2ee.application.WebModule webModule = org.eclipse.jst.j2ee.application.ApplicationFactory.eINSTANCE.createWebModule();
 				webModule.setUri(name);
-				webModule.setContextRoot(contextroot);
 				newModule = (ICommonModule)webModule;
 			}
+			updateContextRoot(earpj, wc, newModule);
 			return newModule;
 		} else if (JavaEEProjectUtilities.isEJBComponent(wc)) {
 			if (useNewModel) {
@@ -272,6 +299,33 @@
 		}
 	}
 
+	private void moduleClasspathForceUpdate(IProgressMonitor monitor) {
+		if (monitor != null) {
+			monitor.beginTask("", 1);
+		}
+		
+		try {
+			EARVirtualComponent ear = (EARVirtualComponent) this.model.getProperty(ICreateReferenceComponentsDataModelProperties.SOURCE_COMPONENT);
+			String deployPath = model.getStringProperty(IAddComponentToEnterpriseApplicationDataModelProperties.TARGET_COMPONENTS_DEPLOY_PATH);
+			String libDir = EarUtilities.getEARLibDir(ear);
+			
+			if (JavaEEProjectUtilities.isJEEComponent(ear) && libDir.equals(deployPath)) {
+				// the component added is in the library directory of an EAR 5+ project
+				// we should trigger force update of the classpath of all module in the EAR
+				IVirtualReference[] refs = ear.getReferences();
+				Collection<IProject> projects = new HashSet<IProject>();
+				for (IVirtualReference ref : refs) {
+					projects.add(ref.getReferencedComponent().getProject());
+				}
+				J2EEComponentClasspathUpdater.getInstance().forceUpdate(projects);
+			}
+		} finally {
+			if (monitor != null) {
+				monitor.done();
+			}
+		}
+	}
+
 	private static IProgressMonitor submon(final IProgressMonitor parent, final int ticks) {
 		return (parent == null ? null : new SubProgressMonitor(parent, ticks));
 	}
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/ClassPathSelection.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/ClassPathSelection.java
index 9744b67..d20bb0b 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/ClassPathSelection.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/ClassPathSelection.java
@@ -36,12 +36,14 @@
 import org.eclipse.jdt.core.IClasspathAttribute;
 import org.eclipse.jdt.core.IClasspathContainer;
 import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.jst.common.jdt.internal.javalite.IJavaProjectLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaCoreLite;
 import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
 import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
+import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants.DependencyAttributeType;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
@@ -56,10 +58,12 @@
 import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent;
 import org.eclipse.jst.j2ee.internal.archive.operations.ComponentLoadStrategyImpl;
 import org.eclipse.jst.j2ee.internal.archive.operations.EARComponentLoadStrategyImpl;
+import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyEnablement;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.j2ee.model.IModelProvider;
 import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
 import org.eclipse.jst.javaee.ejb.EJBJar;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.UnresolveableURIException;
@@ -306,9 +310,10 @@
 		if (comp != null && comp.getProject().isAccessible()) {
 			final IProject project = comp.getProject();
 			if (project.hasNature(JavaCore.NATURE_ID)) {
-				final IJavaProject javaProject = JavaCore.create(project);
-				final boolean isWebApp = J2EEProjectUtilities.isDynamicWebProject(project);
-				final Map taggedEntries = ClasspathDependencyUtil.getRawComponentClasspathDependencies(javaProject);
+				final IJavaProjectLite javaProjectLite = JavaCoreLite.create(project);
+				final boolean isWebApp = JavaEEProjectUtilities.isDynamicWebProject(project);
+				final boolean webLibsOnly = isWebApp && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency();
+				final Map taggedEntries = ClasspathDependencyUtil.getRawComponentClasspathDependencies(javaProjectLite, DependencyAttributeType.CLASSPATH_COMPONENT_DEPENDENCY, webLibsOnly);
 				
 				Iterator i = taggedEntries.keySet().iterator();
 				while (i.hasNext()) {
@@ -325,7 +330,7 @@
 					addClasspathElement(element, element.getArchiveURI().toString());
 				}
 				
-				final List potentialEntries = ClasspathDependencyUtil.getPotentialComponentClasspathDependencies(javaProject);
+				final List potentialEntries = ClasspathDependencyUtil.getPotentialComponentClasspathDependencies(javaProjectLite, webLibsOnly);
 				i = potentialEntries.iterator();
 				while (i.hasNext()) {
 					final IClasspathEntry entry = (IClasspathEntry) i.next();
@@ -659,10 +664,12 @@
 		//createClasspathComponentDependencyElements(comp);
 		
 		// Add elements for raw classpath entries (either already tagged or potentially taggable) 
-		try {
-		    createClasspathEntryElements(component, IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_CONTAINER_PATH, IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_COMPONENT_PATH);
-		} catch (CoreException ce) {
-			Logger.getLogger(J2EEPlugin.PLUGIN_ID).logError(ce);
+		if(ClasspathDependencyEnablement.isAllowClasspathComponentDependency()){
+			try {
+			    createClasspathEntryElements(component, IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_CONTAINER_PATH, IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_COMPONENT_PATH);
+			} catch (CoreException ce) {
+				Logger.getLogger(J2EEPlugin.PLUGIN_ID).logError(ce);
+			}
 		}
 		
 		if (earComponent != null) {
@@ -864,7 +871,7 @@
 	private void setType(ClasspathElement element, IVirtualReference other) {
 		if (other == null)
 			return;
-		else if (clientToEJBJARs.containsKey(other))
+		else if (clientToEJBJARs.containsKey(other.getReferencedComponent()))
 			element.setJarType(ClasspathElement.EJB_CLIENT_JAR);
 		else if (J2EEProjectUtilities.isEJBComponent(other.getReferencedComponent()))
 			element.setJarType(ClasspathElement.EJB_JAR);
@@ -1091,28 +1098,28 @@
 		ClasspathElement element = getClasspathElement(archiveProject);
 		if (element == null)
 			return false;
-		Archive anArchive = null;
-		if (element.isValid()) {
-			try {
-				anArchive = (Archive) getEARFile().getFile(element.getText());
-			} catch (FileNotFoundException e) {
-			}
-		}
-		return anArchive != null && archive.hasClasspathVisibilityTo(anArchive);
+		return hasDirectOrIndirectDependencyTo(element); 
 	}
 
 	public boolean hasDirectOrIndirectDependencyTo(String jarName) {
 		ClasspathElement element = getClasspathElement(jarName);
 		if (element == null)
 			return false;
+		return hasDirectOrIndirectDependencyTo(element); 
+	}
+	
+	private boolean hasDirectOrIndirectDependencyTo(ClasspathElement element){
 		Archive anArchive = null;
 		if (element.isValid()) {
 			try {
-				anArchive = (Archive) getEARFile().getFile(element.getText());
+				EARFile  earFile = getEARFile();
+				if( earFile != null ){
+					anArchive = (Archive) earFile.getFile(element.getText());
+				}
 			} catch (FileNotFoundException e) {
 			}
 		}
-		return anArchive != null && archive.hasClasspathVisibilityTo(anArchive);
+		return anArchive != null && archive.hasClasspathVisibilityTo(anArchive);		
 	}
 
 
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/EARComponentImportDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/EARComponentImportDataModelProvider.java
index 68f0ba1..671913d 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/EARComponentImportDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/EARComponentImportDataModelProvider.java
@@ -27,6 +27,7 @@
 import org.eclipse.jem.util.logger.proxy.Logger;
 import org.eclipse.jst.j2ee.applicationclient.internal.creation.AppClientComponentImportDataModelProvider;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonArchiveResourceHandler;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
 import org.eclipse.jst.j2ee.datamodel.properties.IAddWebComponentToEnterpriseApplicationDataModelProperties;
@@ -49,6 +50,7 @@
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetInstallDataModelProperties;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetProjectCreationDataModelProperties;
+import org.eclipse.jst.jee.archive.ArchiveOpenFailureException;
 import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
 import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetDataModelProperties;
 import org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
@@ -421,7 +423,7 @@
 			boolean added = false;
 			for (int j = 0; utilityModels != null && j < utilityModels.size() && !added; j++) {
 				currentUtilityModel = (IDataModel) utilityModels.get(j);
-				if (currentUtilityModel.getProperty(IJavaUtilityJarImportDataModelProperties.ARCHIVE_WRAPPER) == currentArchive) {
+				if (currentUtilityModel.getProperty(IJavaUtilityJarImportDataModelProperties.ARCHIVE_WRAPPER).equals(currentArchive)) {
 					added = true;
 				}
 			}
@@ -444,6 +446,7 @@
 			currentArchive = (ArchiveWrapper) currentUtilityModel.getProperty(IJavaUtilityJarImportDataModelProperties.ARCHIVE_WRAPPER);
 			if (null == utilityJars || !utilityJars.contains(currentArchive)) {
 				currentUtilityModel.removeListener(nestedListener);
+				currentUtilityModel.setBooleanProperty(IJavaUtilityJarImportDataModelProperties.CLOSE_ARCHIVE_ON_DISPOSE, false);
 				currentUtilityModel.dispose();
 				utilityModels.remove(currentUtilityModel);
 				utilityJarsModified = true;
@@ -723,4 +726,23 @@
 		IDataModel earFacet = map.getFacetDataModel( IJ2EEFacetConstants.ENTERPRISE_APPLICATION );	
 		earFacet.setBooleanProperty(IJ2EEFacetInstallDataModelProperties.GENERATE_DD, false);
 	}
+	
+	@Override
+	protected ArchiveWrapper openArchiveWrapper(String uri) throws OpenFailureException, ArchiveOpenFailureException {
+		ArchiveWrapper wrapper = super.openArchiveWrapper(uri);
+		if(null != wrapper){
+			JavaEEQuickPeek jqp =  wrapper.getJavaEEQuickPeek();
+			if(jqp.getType() != JavaEEQuickPeek.APPLICATION_TYPE){
+				wrapper.close();
+				throw new OpenFailureException(CommonArchiveResourceHandler.getString(CommonArchiveResourceHandler.could_not_open_EXC_, (new Object[]{uri})));
+			}
+		}
+		return wrapper;
+	}
+	
+	protected void handleUnknownType(JavaEEQuickPeek jqp) {
+		jqp.setType(J2EEVersionConstants.APPLICATION_TYPE);
+		jqp.setVersion(J2EEVersionConstants.JEE_5_0_ID);
+		jqp.setJavaEEVersion(J2EEVersionConstants.JEE_5_0_ID);
+	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java
index 9b51918..3b352b7 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IAddComponentToEnterpriseApplicationDataModelProperties.java
@@ -14,6 +14,6 @@
 
 public interface IAddComponentToEnterpriseApplicationDataModelProperties extends ICreateReferenceComponentsDataModelProperties {
 
-	
+	public static final String J2EE_LIB_ELEMENTS_LIST = "IAddComponentToEnterpriseApplicationDataModelProperties.J2EE_LIB_ELEMENTS_LIST"; //$NON-NLS-1$
 
 }
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IUpdateModuleContextRootProperties.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IUpdateModuleContextRootProperties.java
index 9df847f..fed7be5 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IUpdateModuleContextRootProperties.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/application/internal/operations/IUpdateModuleContextRootProperties.java
@@ -10,12 +10,12 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.application.internal.operations;
 
-import org.eclipse.wst.web.internal.operation.IWebProjectPropertiesUpdateDataModelProperties;
+import org.eclipse.wst.common.componentcore.datamodel.properties.IServerContextRootDataModelProperties;
 
 /**
  * Holds DataModelOperation properties for updating the context-root of modules in associated EAR application.xml files.
  */
-public interface IUpdateModuleContextRootProperties extends IWebProjectPropertiesUpdateDataModelProperties {
+public interface IUpdateModuleContextRootProperties extends IServerContextRootDataModelProperties {
 	/**
 	 * ID for nexted IDataModel
 	 */
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARArtifactEdit.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARArtifactEdit.java
index f67c064..ebcd5c7 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARArtifactEdit.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARArtifactEdit.java
@@ -32,6 +32,7 @@
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
 import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit;
 import org.eclipse.jst.j2ee.internal.J2EEConstants;
 import org.eclipse.jst.j2ee.internal.archive.operations.EARComponentLoadStrategyImpl;
@@ -451,7 +452,10 @@
 		IVirtualReference [] refs = getComponent().getReferences();
 		for(int i=0; i<refs.length; i++){
 			if(refs[i].getReferencedComponent().equals(moduleComp)){
-				return refs[i].getArchiveName();
+				if (refs[i].getRuntimePath().toString().equals("/")){
+					return refs[i].getArchiveName();
+				}
+				return refs[i].getRuntimePath().append(refs[i].getArchiveName()).toString();
 			}
 		}
 		return null;		
@@ -471,11 +475,14 @@
 //	}
 	
 	public IVirtualComponent getModuleByManifestURI(final String uri) {
+		if (uri == null)
+			return null;
+		
 		IVirtualComponent earComponent = ComponentCore.createComponent(getProject());
 		IVirtualReference [] refs = earComponent.getReferences();
 
 		for(int i=0;i<refs.length; i++){
-			if(refs[i].getArchiveName().equals(uri)){
+			if(uri.equals(refs[i].getArchiveName())){
 				return refs[i].getReferencedComponent();
 			}
 		}
@@ -577,16 +584,22 @@
 	}
 
 	public Archive asArchive(boolean includeSource) throws OpenFailureException {
-		verifyOperationSupported();
 		return asArchive(includeSource, true);
 	}
 	
 	public Archive asArchive(boolean includeSource, boolean includeClasspathComponents) throws OpenFailureException {
+		return asArchive(includeSource, includeClasspathComponents, false);
+	}
+	public Archive asArchive(boolean includeSource, boolean includeClasspathComponents, boolean readOnly) throws OpenFailureException {
 		verifyOperationSupported();
 		EARComponentLoadStrategyImpl loader = new EARComponentLoadStrategyImpl(getComponent(), includeClasspathComponents);
+		loader.setReadOnly(readOnly);
 		loader.setExportSource(includeSource);
 		String uri = ModuleURIUtil.getHandleString(getComponent());
-		return CommonarchiveFactory.eINSTANCE.openEARFile(loader, uri);
+		ArchiveOptions options = new ArchiveOptions();
+		options.setLoadStrategy(loader);
+		options.setIsReadOnly(readOnly);
+		return CommonarchiveFactory.eINSTANCE.openEARFile(options, uri);
 	}
 
 	public static void createDeploymentDescriptor(IProject project, int version) {
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARVirtualComponent.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARVirtualComponent.java
index ff56c43..7a803e1 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARVirtualComponent.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/componentcore/util/EARVirtualComponent.java
@@ -13,6 +13,7 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -21,6 +22,7 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jem.util.logger.proxy.Logger;
 import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualArchiveComponent;
+import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathInitializer;
 import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.jee.application.ICommonModule;
@@ -28,7 +30,7 @@
 import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
 import org.eclipse.wst.common.componentcore.internal.StructureEdit;
 import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
-import org.eclipse.wst.common.componentcore.internal.builder.DependencyGraphManager;
+import org.eclipse.wst.common.componentcore.internal.builder.IDependencyGraph;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
 import org.eclipse.wst.common.componentcore.internal.util.IComponentImplFactory;
@@ -42,6 +44,7 @@
 	
 	private IVirtualReference[] cachedReferences;
 	private long depGraphModStamp;
+	
 	public EARVirtualComponent() {
 		super();
 	}
@@ -102,6 +105,9 @@
 								} else {
 									if (referencedIVirtualComponent.isBinary()) {
 										archiveName = getJarURI(referencedComponent, referencedIVirtualComponent);
+										if (J2EEModuleVirtualArchiveComponent.class.isInstance(referencedIVirtualComponent)){
+											((J2EEModuleVirtualArchiveComponent)referencedIVirtualComponent).setDeploymentPath(vReference.getRuntimePath());
+										}
 									} else if(referencedComponent.getArchiveName() != null){
 										archiveName = referencedComponent.getArchiveName();
 									} else {
@@ -133,7 +139,7 @@
 		}
 		return hardReferences;
 	}
-
+	
 	/**
 	 * Returns the resulting list of referenced components based off the hard references and archives mapping to the root folder.
 	 * 
@@ -143,7 +149,18 @@
 	 * @return
 	 */
 	private static List getLooseArchiveReferences(EARVirtualComponent earComponent, List hardReferences) {
-		return  getLooseArchiveReferences(earComponent, hardReferences, null, (EARVirtualRootFolder)earComponent.getRootFolder());
+		Map<EARVirtualComponent, List> cache = J2EEComponentClasspathInitializer.getLooseConfigCache();
+		if (cache != null) {
+			List list = cache.get(earComponent);
+			if (list != null) {
+				return list;
+			}
+		}
+		List list = getLooseArchiveReferences(earComponent, hardReferences, null, (EARVirtualRootFolder) earComponent.getRootFolder());
+		if (cache != null) {
+			cache.put(earComponent, list);
+		}
+		return list;
 	}
 	
 	private static List getLooseArchiveReferences(EARVirtualComponent earComponent, List hardReferences, List dynamicReferences, EARVirtualRootFolder folder) {
@@ -164,6 +181,8 @@
 							IResource iResource = members[i].getUnderlyingResource();
 							IVirtualComponent dynamicComponent = ComponentCore.createArchiveComponent(earComponent.getProject(), VirtualArchiveComponent.LIBARCHIVETYPE + iResource.getFullPath().toString());
 							IVirtualReference dynamicRef = ComponentCore.createReference(earComponent, dynamicComponent);
+							if( dynamicComponent instanceof J2EEModuleVirtualArchiveComponent)
+								((J2EEModuleVirtualArchiveComponent)dynamicComponent).setDeploymentPath(members[i].getRuntimePath());
 							dynamicRef.setArchiveName(archiveName);
 							if (null == dynamicReferences) {
 								dynamicReferences = new ArrayList();
@@ -200,11 +219,19 @@
 		if (cachedReferences != null && checkIfStillValid())
 			return cachedReferences;
 		else
-			depGraphModStamp = DependencyGraphManager.getInstance().getModStamp();
+			depGraphModStamp = IDependencyGraph.INSTANCE.getModStamp();
 		return null;
 	}
 
 	private boolean checkIfStillValid() {
-		return DependencyGraphManager.getInstance().checkIfStillValid(depGraphModStamp);
+		return IDependencyGraph.INSTANCE.getModStamp() == depGraphModStamp;
+	}
+	
+	@Override
+	protected void clearCache() {
+		super.clearCache();
+		
+		depGraphModStamp = IDependencyGraph.INSTANCE.getModStamp();
+		cachedReferences = null;
 	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/DefaultJ2EEComponentCreationDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/DefaultJ2EEComponentCreationDataModelProvider.java
index 349c412..08bd88e 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/DefaultJ2EEComponentCreationDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/earcreation/DefaultJ2EEComponentCreationDataModelProvider.java
@@ -11,6 +11,7 @@
 package org.eclipse.jst.j2ee.internal.earcreation;
 
 import java.util.ArrayList;
+import java.util.List;
 import java.util.Set;
 
 import org.eclipse.core.resources.IProject;
@@ -63,6 +64,8 @@
 	private IDataModel jcaFacetModel;
 	private IDataModel clientModel;
 	private IDataModel clientFacetModel;
+	
+	private List <IDataModel> extendedModelsToDispose = new ArrayList<IDataModel>();
 
 	public DefaultJ2EEComponentCreationDataModelProvider() {
 		super();
@@ -103,6 +106,7 @@
 
 	protected void initNestedCreationModels() {
 		clientModel = DataModelFactory.createDataModel(new AppClientFacetProjectCreationDataModelProvider());
+		extendedModelsToDispose.add(clientModel);
 		model.addNestedModel(NESTED_MODEL_CLIENT, clientModel);
 		clientFacetModel = ((FacetDataModelMap)clientModel.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP)).getFacetDataModel(J2EEProjectUtilities.APPLICATION_CLIENT);
 		clientFacetModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR, false);
@@ -112,6 +116,7 @@
 		if (ejbExt != null) {
 			ejbModel = ejbExt.createProjectDataModel();
 			if (ejbModel != null){
+				extendedModelsToDispose.add(ejbModel);
 				model.addNestedModel(NESTED_MODEL_EJB, ejbModel);
 				ejbFacetModel = ((FacetDataModelMap)ejbModel.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP)).getFacetDataModel(J2EEProjectUtilities.EJB);
 				ejbFacetModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR, false);
@@ -122,6 +127,7 @@
 		if (webExt != null) {
 			webModel = webExt.createProjectDataModel();
 			if (webModel != null){
+				extendedModelsToDispose.add(webModel);
 				model.addNestedModel(NESTED_MODEL_WEB, webModel);
 				webFacetModel = ((FacetDataModelMap)webModel.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP)).getFacetDataModel(J2EEProjectUtilities.DYNAMIC_WEB);
 				webFacetModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR, false);
@@ -132,6 +138,7 @@
 		if (rarExt != null) {
 			jcaModel = rarExt.createProjectDataModel();
 			if (jcaModel != null){
+				extendedModelsToDispose.add(jcaModel);
 				model.addNestedModel(NESTED_MODEL_JCA, jcaModel);
 				jcaFacetModel = ((FacetDataModelMap)jcaModel.getProperty(IFacetProjectCreationDataModelProperties.FACET_DM_MAP)).getFacetDataModel(J2EEProjectUtilities.JCA);
 				jcaFacetModel.setBooleanProperty(IJ2EEModuleFacetInstallDataModelProperties.ADD_TO_EAR, false);
@@ -454,4 +461,13 @@
 			return getBooleanProperty(CREATE_WEB);
 		return super.isPropertyEnabled(propertyName);
 	}
+	
+	@Override
+	public void dispose() {
+		for(IDataModel dm: extendedModelsToDispose){
+			dm.dispose();
+		}
+		extendedModelsToDispose.clear();
+		super.dispose();
+	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/project/facet/UtilityFacetInstallDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/project/facet/UtilityFacetInstallDataModelProvider.java
index fb7bdb4..c86d45c 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/project/facet/UtilityFacetInstallDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/internal/project/facet/UtilityFacetInstallDataModelProvider.java
@@ -10,7 +10,10 @@
  *******************************************************************************/
 package org.eclipse.jst.j2ee.internal.project.facet;
 
+import java.util.List;
+
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
@@ -41,26 +44,38 @@
 		    final IFacetedProjectWorkingCopy fpjwc 
 		        = (IFacetedProjectWorkingCopy) getProperty( FACETED_PROJECT_WORKING_COPY );
 		    
-		    final IFacetedProject fpj = fpjwc.getFacetedProject();
-		    
-		    if( fpj.hasProjectFacet( JavaFacet.FACET ) )
+		    if( this.javaFacetInstallConfig != null )
 		    {
-		        try
+		        final List<IPath> sourceFolders = this.javaFacetInstallConfig.getSourceFolders();
+		        
+		        if( ! sourceFolders.isEmpty() )
 		        {
-    		        final IJavaProject jpj = JavaCore.create( fpj.getProject() );
-    		        
-    		        for( IClasspathEntry cpe : jpj.getRawClasspath() )
+		            return sourceFolders.get( 0 ).toPortableString();
+		        }
+		    }
+		    else
+		    {
+    		    final IFacetedProject fpj = fpjwc.getFacetedProject();
+    		    
+    		    if( fpj.hasProjectFacet( JavaFacet.FACET ) )
+    		    {
+    		        try
     		        {
-    		            if( cpe.getEntryKind() == IClasspathEntry.CPE_SOURCE )
-    		            {
-    		                return cpe.getPath().removeFirstSegments( 1 ).toPortableString();
-    		            }
+        		        final IJavaProject jpj = JavaCore.create( fpj.getProject() );
+        		        
+        		        for( IClasspathEntry cpe : jpj.getRawClasspath() )
+        		        {
+        		            if( cpe.getEntryKind() == IClasspathEntry.CPE_SOURCE )
+        		            {
+        		                return cpe.getPath().removeFirstSegments( 1 ).toPortableString();
+        		            }
+        		        }
     		        }
-		        }
-		        catch( CoreException e )
-		        {
-		            Logger.getLogger().logError(e);
-		        }
+    		        catch( CoreException e )
+    		        {
+    		            Logger.getLogger().logError(e);
+    		        }
+    		    }
 		    }
 		}
 		return super.getDefaultProperty(propertyName);
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/EarFacetInstallDelegate.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/EarFacetInstallDelegate.java
index 46c617a..8b94953 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/EarFacetInstallDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/EarFacetInstallDelegate.java
@@ -48,13 +48,13 @@
 
 			WtpUtils.addNaturestoEAR(project);
 
-			final IVirtualComponent c = ComponentCore.createComponent(project);
+			final IVirtualComponent c = ComponentCore.createComponent(project, false);
 			c.create(0, null);
 
 			final IVirtualFolder earroot = c.getRootFolder();
 			earroot.createLink(new Path("/" + model.getStringProperty(IEarFacetInstallDataModelProperties.CONTENT_DIR)), 0, null); //$NON-NLS-1$
 
-			if (!project.getFile(J2EEConstants.APPLICATION_DD_URI).exists()) {
+			if (!earroot.getFile(J2EEConstants.APPLICATION_DD_URI).exists()) {
 				String ver = fv.getVersionString();
 				int nVer = J2EEVersionUtil.convertVersionStringToInt(ver);
 				EARArtifactEdit.createDeploymentDescriptor(project, nVer);
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetInstallDelegate.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetInstallDelegate.java
index 02859fb..8b839c6 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetInstallDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetInstallDelegate.java
@@ -54,7 +54,7 @@
 
 			// Setup the flexible project structure.
 
-			final IVirtualComponent c = ComponentCore.createComponent(project);
+			final IVirtualComponent c = ComponentCore.createComponent(project, false);
 
 			c.create(0, null);
 
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetUnInstallDelegate.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetUnInstallDelegate.java
index a5f3ead..bab80a3 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetUnInstallDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityFacetUnInstallDelegate.java
@@ -28,7 +28,7 @@
 import org.eclipse.wst.common.project.facet.core.IDelegate;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 
-public final class UtilityFacetUnInstallDelegate extends J2EEFacetInstallDelegate implements IDelegate {
+public final class UtilityFacetUnInstallDelegate implements IDelegate {
 
 	public void execute(final IProject project, final IProjectFacetVersion fv, final Object cfg, final IProgressMonitor monitor) throws CoreException {
 		if (monitor != null) {
diff --git a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityProjectCreationDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityProjectCreationDataModelProvider.java
index 6de9a4d..e989450 100644
--- a/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityProjectCreationDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/earproject/org/eclipse/jst/j2ee/project/facet/UtilityProjectCreationDataModelProvider.java
@@ -15,12 +15,12 @@
 
 import org.eclipse.jst.common.project.facet.IJavaFacetInstallDataModelProperties;
 import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelEvent;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModelListener;
 import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.project.facet.ProductManager;
 
 public class UtilityProjectCreationDataModelProvider extends J2EEFacetProjectCreationDataModelProvider {
 
@@ -38,9 +38,9 @@
 		
 		FacetDataModelMap map = (FacetDataModelMap) getProperty(FACET_DM_MAP);
 		IDataModel javaFacet = map.getFacetDataModel(JavaFacetUtils.JAVA_FACET.getId());
-		// If applicable, keep project structure optimized by making output directory the same as the content root
-		if (ProductManager.shouldUseSingleRootStructure())
-			javaFacet.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, javaFacet.getStringProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME));
+		javaFacet.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME, 
+				J2EEPlugin.getDefault().getJ2EEPreferences().getUtilityOutputFolderName());
+		
 		IDataModel utilFacet = map.getFacetDataModel(IJ2EEFacetConstants.UTILITY_FACET.getId());
 		utilFacet.addListener(new IDataModelListener() {
 			public void propertyChanged(DataModelEvent event) {
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualArchiveComponent.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualArchiveComponent.java
index 1c31884..9c5119b 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualArchiveComponent.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualArchiveComponent.java
@@ -61,4 +61,13 @@
 		return linkedToEAR;
 	}
 	
+	private IPath deploymentPath;
+	
+	public IPath getDeploymentPath() {
+		return deploymentPath;
+	}
+	public void setDeploymentPath(IPath path) {
+		this.deploymentPath = path;
+	}
+	
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualComponent.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualComponent.java
index f44cf9b..a4815bd 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualComponent.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/componentcore/J2EEModuleVirtualComponent.java
@@ -26,19 +26,21 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IClasspathAttribute;
 import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.jst.common.jdt.internal.javalite.IJavaProjectLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaCoreLite;
+import org.eclipse.jst.common.jdt.internal.javalite.JavaLiteUtilities;
 import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifestImpl;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
 import org.eclipse.jst.j2ee.internal.J2EEConstants;
+import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyEnablement;
 import org.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyVirtualComponent;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.project.EarUtilities;
 import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
 import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.internal.builder.IDependencyGraph;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualFolder;
@@ -50,6 +52,16 @@
 
 public class J2EEModuleVirtualComponent extends VirtualComponent implements IComponentImplFactory {
 
+	public static String GET_JAVA_REFS = "GET_JAVA_REFS"; //$NON-NLS-1$
+	public static String GET_FUZZY_EAR_REFS = "GET_FUZZY_EAR_REFS"; //$NON-NLS-1$
+	
+	private long depGraphModStamp;
+	
+	private IVirtualReference[] fuzzyAndJavaRefs = null;
+	private IVirtualReference[] fuzzyRefsOnly = null;
+	private IVirtualReference[] javaRefsOnly = null;
+	private IVirtualReference[] nonJavaRefsOnly = null;
+	
 	public J2EEModuleVirtualComponent() {
 		super();
 	}
@@ -76,14 +88,41 @@
 	 * @return IVirtualReferences for all non-Java classpath entry references.
 	 */
 	public IVirtualReference[] getNonJavaReferences() {
-		return getReferences(false, false);
+		if(nonJavaRefsOnly == null || !checkIfStillValid()) {
+			nonJavaRefsOnly = getReferences(false, false);
+		}
+		return nonJavaRefsOnly;
 	}
 	
+	@Override
+	public IVirtualReference[] getReferences(Map<String, Object> options) {
+		Object objGetJavaRefs = options.get(GET_JAVA_REFS);
+		Object objGetFuzzyEarRefs = options.get(GET_FUZZY_EAR_REFS);
+		boolean getJavaRefs = objGetJavaRefs != null ? ((Boolean)objGetJavaRefs).booleanValue() : true;
+		boolean findFuzzyEARRefs = objGetFuzzyEarRefs != null ? ((Boolean)objGetFuzzyEarRefs).booleanValue() : false;
+		
+		IVirtualReference[] cachedReferences = getCachedReference(getJavaRefs, findFuzzyEARRefs);
+		if (cachedReferences != null)
+			return cachedReferences;
+		
+		cachedReferences = getReferences(getJavaRefs, findFuzzyEARRefs);
+		setCachedReferences(getJavaRefs, findFuzzyEARRefs, cachedReferences);
+		return cachedReferences;
+	}
+	
+	@Override
 	public IVirtualReference[] getReferences() {
-		return getReferences(true, false);
+		if(javaRefsOnly == null || !checkIfStillValid()) {
+			javaRefsOnly = getReferences(true, false);
+		}
+		return javaRefsOnly;
 	}
 	
 	public IVirtualReference[] getReferences(final boolean getJavaRefs, final boolean findFuzzyEARRefs) {
+		IVirtualReference[] cachedReferences = getCachedReference(getJavaRefs, findFuzzyEARRefs);
+		if (cachedReferences != null)
+			return cachedReferences;
+		
 		IVirtualReference[] hardReferences = getNonManifestReferences(getJavaRefs);
 		
 		// retrieve the dynamic references specified via the MANIFEST.MF classpath 
@@ -99,6 +138,8 @@
 				references[hardReferences.length + i] = (IVirtualReference) dynamicReferences.get(i);
 			}
 		}
+		
+		setCachedReferences(getJavaRefs, findFuzzyEARRefs, references);
 		return references;
 	}
 	
@@ -138,16 +179,16 @@
 					ArchiveManifest manifest = new ArchiveManifestImpl(in);
 					manifestClasspath = manifest.getClassPathTokenized();
 				} catch (IOException e) {
-					Logger.getLogger().logError(e);
+					J2EEPlugin.logError(e);
 				} catch (CoreException e) {
-					Logger.getLogger().logError(e);
+					J2EEPlugin.logError(e);
 				} finally {
 					if (in != null) {
 						try {
 							in.close();
 							in = null;
 						} catch (IOException e) {
-							Logger.getLogger().logError(e);
+							J2EEPlugin.logError(e);
 						}
 					}
 				}
@@ -165,34 +206,39 @@
 	}
 	
 	private IVirtualReference[] getJavaClasspathReferences(IVirtualReference[] hardReferences) {
+		final boolean isWebApp = JavaEEProjectUtilities.isDynamicWebComponent(this);
+		
+		if(!isWebApp && !ClasspathDependencyEnablement.isAllowClasspathComponentDependency()){
+			return new IVirtualReference[0];
+		}
 		final IProject project = getProject();
 		final List cpRefs = new ArrayList();
-		final boolean isWebApp = J2EEProjectUtilities.isDynamicWebComponent(this);
 		
 		try {
-			if (project == null || !project.isAccessible() || !project.hasNature(JavaCore.NATURE_ID)) { 
+			if (project == null || !project.isAccessible() || !project.hasNature(JavaCoreLite.NATURE_ID)) { 
 				return new IVirtualReference[0];
 			}
 
-			final IJavaProject javaProject = JavaCore.create(project);
-			if (javaProject == null) {
+			final IJavaProjectLite javaProjectLite = JavaCoreLite.create(project);
+			if (javaProjectLite == null) {
 				return new IVirtualReference[0];
 			}
 
 			// retrieve all referenced classpath entries
-			final Map referencedEntries = ClasspathDependencyUtil.getComponentClasspathDependencies(javaProject, isWebApp);
+			final Map referencedEntries = ClasspathDependencyUtil.getComponentClasspathDependencies(javaProjectLite, isWebApp);
 
 			if (referencedEntries.isEmpty()) {
 				return new IVirtualReference[0];
 			}
 
-			if (hardReferences == null) {
+			IVirtualReference[] innerHardReferences = hardReferences;
+			if (innerHardReferences == null) {
 				// only compute this not set and if we have some cp dependencies 
-				hardReferences = super.getReferences();
+				innerHardReferences = super.getReferences();
 			}
-			final IPath[] hardRefPaths = new IPath[hardReferences.length];
-			for (int j = 0; j < hardReferences.length; j++) {
-				final IVirtualComponent comp = hardReferences[j].getReferencedComponent();
+			final IPath[] hardRefPaths = new IPath[innerHardReferences.length];
+			for (int j = 0; j < innerHardReferences.length; j++) {
+				final IVirtualComponent comp = innerHardReferences[j].getReferencedComponent();
 				if (comp.isBinary()) {
 					final VirtualArchiveComponent archiveComp = (VirtualArchiveComponent) comp;
 					final File diskFile = archiveComp.getUnderlyingDiskFile();
@@ -229,7 +275,8 @@
 					}
 				} else { // check class folders mapped in component file as class folders associated with mapped src folders
 					if (mappedClassFolders == null) {
-						mappedClassFolders = J2EEProjectUtilities.getAllOutputContainers(getProject());
+						List <IContainer> containers = JavaLiteUtilities.getJavaOutputContainers(this);
+						mappedClassFolders = containers.toArray(new IContainer[containers.size()]);
 					}
 					for (int j = 0; j < mappedClassFolders.length; j++) {
 						if (entryLocation.equals(mappedClassFolders[j].getFullPath())) {
@@ -240,7 +287,7 @@
 					} 
 				}
 
-				if (add) {
+				if (add && entryLocation != null) {
 					String componentPath = null;
 					ClasspathDependencyVirtualComponent entryComponent = null;
 					/*
@@ -260,7 +307,7 @@
 			}
 
 		} catch (CoreException jme) {
-			Logger.getLogger().logError(jme);
+			J2EEPlugin.logError(jme);
 		} 
 		
 		return (IVirtualReference[]) cpRefs.toArray(new IVirtualReference[cpRefs.size()]);
@@ -313,17 +360,23 @@
 								String archiveName = earRefs[j].getArchiveName();
 								if (null != archiveName){
 									boolean shouldAdd = false;
-									if(simplePath && manifestClasspath[manifestIndex].lastIndexOf("/") == -1){ //$NON-NLS-1$
-										shouldAdd = archiveName.equals(manifestClasspath[manifestIndex]);	
+									String manifestEntryString = manifestClasspath[manifestIndex];
+									if( manifestEntryString != null ){
+										IPath manifestPath = new Path(manifestEntryString);
+										manifestEntryString = manifestPath.toPortableString();
+									}
+									
+									if(simplePath && manifestEntryString != null && manifestEntryString.lastIndexOf("/") == -1){ //$NON-NLS-1$
+										shouldAdd = archiveName.equals(manifestEntryString);	
 									} else {
-										String earRelativeURI = ArchiveUtil.deriveEARRelativeURI(manifestClasspath[manifestIndex], earArchiveURI);
+										String earRelativeURI = ArchiveUtil.deriveEARRelativeURI(manifestEntryString, earArchiveURI);
 										if(null != earRelativeURI){
 											shouldAdd = earRelativeURI.equals(archiveName);	
 										}
 									}
 									
 									if(shouldAdd){
-										if(findFuzzyEARRefs){
+										if(findFuzzyEARRefs && foundRefAlready != null){
 											foundRefAlready[manifestIndex] = true;
 										}
 										found = true;
@@ -351,7 +404,8 @@
 					}
 					if(!findFuzzyEARRefs){
 						break;
-					} else {
+					}
+					if(foundRefAlready != null){
 						boolean foundAll = true;
 						for(int i = 0; i < foundRefAlready.length && foundAll; i++){
 							if(!foundRefAlready[i]){
@@ -367,5 +421,57 @@
 		}
 		return dynamicReferences;
 	}
+	
+	private void setCachedReferences(boolean getJavaRefs, boolean findFuzzyEARRefs, IVirtualReference[] references) {
+		if(findFuzzyEARRefs && getJavaRefs) {
+			fuzzyAndJavaRefs = references; 
+		}
+		else if(!findFuzzyEARRefs && !getJavaRefs) {
+			nonJavaRefsOnly = references;
+		}
+		else if(findFuzzyEARRefs) {
+			fuzzyRefsOnly = references;
+		}
+		else {
+			javaRefsOnly = references;
+		}
+	}
+	
+	private IVirtualReference[] getCachedReference(boolean getJavaRefs, boolean findFuzzyEARRefs) {
+		if(checkIfStillValid())
+		{
+			if(findFuzzyEARRefs && getJavaRefs) {
+				return fuzzyAndJavaRefs; 
+			}
+			else if(!findFuzzyEARRefs && !getJavaRefs) {
+				return nonJavaRefsOnly;
+			}
+			else if(findFuzzyEARRefs) {
+				return fuzzyRefsOnly;
+			}
+			else {
+				return javaRefsOnly;
+			}
+		}
+		return null;
+	}
 
+	private boolean checkIfStillValid() {
+		boolean valid = IDependencyGraph.INSTANCE.getModStamp() == depGraphModStamp;
+		if(!valid) {
+			clearCache();
+		}
+		return valid;
+	}
+	
+	@Override
+	protected void clearCache() {
+		super.clearCache();
+		
+		depGraphModStamp = IDependencyGraph.INSTANCE.getModStamp();
+		fuzzyAndJavaRefs = null;
+		fuzzyRefsOnly = null;
+		javaRefsOnly = null;
+		nonJavaRefsOnly = null;
+	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/EnterpriseBinaryComponentHelper.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/EnterpriseBinaryComponentHelper.java
index ad70d64..f10d5f7 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/EnterpriseBinaryComponentHelper.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/EnterpriseBinaryComponentHelper.java
@@ -21,7 +21,6 @@
 import java.util.Set;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
@@ -37,6 +36,7 @@
 import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveTypeDiscriminator;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ZipFileLoadStrategyImpl;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.jee.archive.internal.ArchiveUtil;
 import org.eclipse.wst.common.componentcore.internal.BinaryComponentHelper;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
@@ -214,10 +214,6 @@
 		
 		private boolean physicallyOpen = true;
 		
-		public BinaryZipFileLoadStrategy() {
-			super();
-		}
-
 		public BinaryZipFileLoadStrategy(java.io.File file) throws IOException {
 			super(file);
 		}
@@ -234,7 +230,7 @@
 		public void physicallyOpen() throws ZipException, IOException{
 			if(!isPhysicallyOpen()){
 				physicallyOpen = true;
-				setZipFile(new ZipFile(file));
+				setZipFile(ArchiveUtil.newZipFile(file));
 			}
 		}
 		
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java
index 5eaf259..d9d1bee 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentHelper.java
@@ -44,7 +44,7 @@
 
 	private IArchive archive;
 	private EnterpriseBinaryComponentHelper legacyBinaryHelper;
-
+	private boolean descriminateMainClass = true;
 	private int localArchiveAccessCount = 0;
 
 	public static JavaEEQuickPeek getJavaEEQuickPeek(IVirtualComponent aBinaryComponent) {
@@ -63,11 +63,38 @@
 			}
 		}
 	}
+	
+	public static void openArchive(IVirtualComponent aBinaryComponent, boolean descriminateMainClass) {
+		JavaEEBinaryComponentHelper helper = null;
+		try {
+			helper = new JavaEEBinaryComponentHelper(aBinaryComponent);
+			helper.setDescriminateMainClass(descriminateMainClass);
+			try {
+				helper.openArchive();
+			} catch (ArchiveOpenFailureException e) {
+				J2EEPlugin.logError(e);
+			}
+		} finally {
+			if (helper != null) {
+				helper.dispose();
+			}
+		}
+	}
 
 	public JavaEEBinaryComponentHelper(IVirtualComponent aBinaryComponent) {
 		super(aBinaryComponent);
 	}
 
+	public IPath getAbsolutePath() {
+		IArchiveLoadAdapter loadAdapter = null;
+		if(getArchive().getArchiveOptions().hasOption(JavaEEArchiveUtilities.WRAPPED_LOAD_ADAPTER)){
+			loadAdapter = (IArchiveLoadAdapter)getArchive().getArchiveOptions().getOption(JavaEEArchiveUtilities.WRAPPED_LOAD_ADAPTER);
+		} else {
+			loadAdapter = (IArchiveLoadAdapter)getArchive().getArchiveOptions().getOption(ArchiveOptions.LOAD_ADAPTER);
+		}
+		return ((JavaEEBinaryComponentLoadAdapter) loadAdapter).getArchivePath();
+	}
+	
 	@Override
 	public EObject getPrimaryRootObject() {
 		JavaEEQuickPeek qp = JavaEEArchiveUtilities.INSTANCE.getJavaEEQuickPeek(getArchive());
@@ -349,6 +376,14 @@
 		ArchiveCache.getInstance().clearAllArchivesInProject(earProject);
 	}
 
+	public void setDescriminateMainClass(boolean archiveOption) {
+		descriminateMainClass = archiveOption;
+	}
+
+	public boolean shouldDescriminateMainClass() {
+		return descriminateMainClass;
+	}
+
 	/**
 	 * This cache manages IArchives across all
 	 * {@link JavaEEBinaryComponentHelper} instances. If multiple
@@ -360,13 +395,12 @@
 	 */
 	private static class ArchiveCache {
 
-		private static ArchiveCache instance = null;
+		private static class ArchiveCacheInstanceHolder {
+			private static ArchiveCache instance = new ArchiveCache();
+		}
 
 		public static ArchiveCache getInstance() {
-			if (instance == null) {
-				instance = new ArchiveCache();
-			}
-			return instance;
+			return ArchiveCacheInstanceHolder.instance;
 		}
 
 		protected Map<IVirtualComponent, IArchive> componentsToArchives = new Hashtable<IVirtualComponent, IArchive>();
@@ -458,7 +492,13 @@
 		}
 
 		public synchronized IArchive openArchive(JavaEEBinaryComponentHelper helper) throws ArchiveOpenFailureException {
-			IArchive archive = JavaEEArchiveUtilities.INSTANCE.openArchive(helper.getComponent());
+			IArchive archive;
+			if (helper.getComponent().isBinary()) {
+				archive = JavaEEArchiveUtilities.INSTANCE.openBinaryArchive(helper.getComponent(), helper.shouldDescriminateMainClass());
+			}
+			else {
+				archive = JavaEEArchiveUtilities.INSTANCE.openArchive(helper.getComponent());
+			}
 			componentsToArchives.put(helper.getComponent(), archive);
 			archiveAccessCount.put(archive, new Integer(0));
 			return archive;
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentLoadAdapter.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentLoadAdapter.java
index 0fe2f5c..2a8c4bf 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentLoadAdapter.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/componentcore/JavaEEBinaryComponentLoadAdapter.java
@@ -3,6 +3,8 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipException;
 import java.util.zip.ZipFile;
@@ -11,8 +13,10 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jst.j2ee.internal.archive.JavaEEEMFZipFileLoadAdapterImpl;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.jee.archive.ArchiveOpenFailureException;
 import org.eclipse.jst.jee.archive.IArchiveResource;
+import org.eclipse.jst.jee.archive.internal.ArchiveUtil;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 
 /**
@@ -30,17 +34,9 @@
 	public JavaEEBinaryComponentLoadAdapter(VirtualArchiveComponent archiveComponent) throws ArchiveOpenFailureException {
 		super();
 		this.archiveComponent = archiveComponent;
-		java.io.File diskFile = null;
-		diskFile = archiveComponent.getUnderlyingDiskFile();
-		if (!diskFile.exists()) {
-			IFile wbFile = archiveComponent.getUnderlyingWorkbenchFile();
-			diskFile = new File(wbFile.getLocation().toOSString());
-		}
-		IPath archivePath = new Path(diskFile.getAbsolutePath());
-		file = new java.io.File(archivePath.toOSString());
-		ZipFile zipFile;
-		try {
-			zipFile = new ZipFile(file);
+		IPath archivePath = recomputeArchivePath();
+		try{
+			resetZipFile(archivePath);
 		} catch (ZipException e) {
 			ArchiveOpenFailureException openFailureException = new ArchiveOpenFailureException(file.getAbsolutePath(), e);
 			throw openFailureException;
@@ -48,8 +44,25 @@
 			ArchiveOpenFailureException openFailureException = new ArchiveOpenFailureException(file.getAbsolutePath(), e);
 			throw openFailureException;
 		}
+	}
+	
+	private void resetZipFile(IPath archivePath)  throws ZipException, IOException {
+		file = new java.io.File(archivePath.toOSString());
+		ZipFile zipFile = ArchiveUtil.newZipFile(file);
 		setZipFile(zipFile);
-		setArchivePath(archivePath);
+		setArchivePath(archivePath);	
+	}
+	
+	private IPath recomputeArchivePath() {
+		java.io.File diskFile = archiveComponent.getUnderlyingDiskFile();
+		if (!diskFile.exists()) {
+			IFile wbFile = archiveComponent.getUnderlyingWorkbenchFile();
+			if( wbFile == null )
+				return new Path(diskFile.getAbsolutePath());
+			diskFile = new File(wbFile.getLocation().toOSString());
+		}
+		IPath archivePath = new Path(diskFile.getAbsolutePath());
+		return archivePath;
 	}
 	
 	private void setArchivePath(IPath archivePath) {
@@ -66,8 +79,19 @@
 	
 	public void physicallyOpen() throws ZipException, IOException{
 		if(!isPhysicallyOpen()){
+			if(file.exists()){
+				setZipFile(ArchiveUtil.newZipFile(file));
+			} else { 
+				//check if the file has moved -- this can happen when
+				//checking into ClearCase.
+				IPath newPath = recomputeArchivePath();
+				if(newPath.equals(archivePath)){
+					throw new FileNotFoundException(archivePath.toOSString());
+				} else {
+					resetZipFile(newPath);
+				}
+			}
 			physicallyOpen = true;
-			setZipFile(new ZipFile(file));
 		}
 	}
 	
@@ -82,6 +106,83 @@
 			}
 		} 
 	}
+
+	public boolean containsArchiveResource(IPath resourcePath) {
+		final boolean isPhysciallyOpen = isPhysicallyOpen();
+		Exception caughtException = null;
+		try {
+			if (!isPhysciallyOpen) {
+				physicallyOpen();
+			}
+			try{
+				return super.containsArchiveResource(resourcePath);
+			} catch(Exception e){
+				J2EEPlugin.logError(caughtException);
+			}
+		} catch (Exception e) {
+			caughtException = e;
+			J2EEPlugin.logError(caughtException);
+		} finally {
+			if (caughtException != null) {
+				if (!isPhysciallyOpen) {
+					physicallyClose();
+				}
+			}
+		}
+		return false;
+	}
+	
+	public IArchiveResource getArchiveResource(IPath filePath) {
+		final boolean isPhysciallyOpen = isPhysicallyOpen();
+		Exception caughtException = null;
+		try {
+			if (!isPhysciallyOpen) {
+				physicallyOpen();
+			}
+			try {
+				return super.getArchiveResource(filePath);
+			} catch(Exception e){
+				J2EEPlugin.logError(caughtException);
+			}
+		} catch (Exception e) {
+			caughtException = e;
+			J2EEPlugin.logError(caughtException);
+		} finally {
+			if (caughtException != null) {
+				if (!isPhysciallyOpen) {
+					physicallyClose();
+				}
+			}
+		}
+		return null;
+	}
+	
+	@Override
+	public List getArchiveResources() {
+		final boolean isPhysciallyOpen = isPhysicallyOpen();
+		Exception caughtException = null;
+		try {
+			if (!isPhysciallyOpen) {
+				physicallyOpen();
+			}
+			try {
+				return super.getArchiveResources();
+			} catch(Exception e){
+				J2EEPlugin.logError(caughtException);
+			}
+		} catch (Exception e) {
+			caughtException = e;
+			J2EEPlugin.logError(caughtException);
+		} finally {
+			if (caughtException != null) {
+				if (!isPhysciallyOpen) {
+					physicallyClose();
+				}
+			}
+		}
+		return Collections.EMPTY_LIST;
+	}
+	
 	
 	public java.io.InputStream getInputStream(IArchiveResource aFile) throws IOException, FileNotFoundException {
 		final boolean isPhysciallyOpen = isPhysicallyOpen();
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/ClasspathDeleteInfo.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/ClasspathDeleteInfo.java
index fbb8341..20707ca 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/ClasspathDeleteInfo.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/ClasspathDeleteInfo.java
@@ -20,6 +20,9 @@
  * A simple structure that remembers for a given project, the manifest entries to be deleted and the
  * build path entries to be deleted
  */
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
+@Deprecated
 public class ClasspathDeleteInfo {
 	/**
 	 * The project from which the dependencies will be removed
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/DeleteModuleOperation.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/DeleteModuleOperation.java
deleted file mode 100644
index a09dd62..0000000
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/DeleteModuleOperation.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.internal.delete;
-
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Do not use this.  It will be deleted in 3.0
- * 
- * @deprecated
- *
- */
-public class DeleteModuleOperation { //extends WTPOperation {
-
-	protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
-		// TODO Auto-generated method stub
-		
-	}
-
-//	protected DeleteOptions options;
-//	/*
-//	 * key is an EAREditModel and the value is a list of delete commands. We cache the commands and
-//	 * execute later because the modules still need to exist when we go to remove module dependency
-//	 * references.
-//	 */
-//	protected Map deferredCommands;
-//	protected IProgressMonitor monitor;
-//	protected DeleteModuleDependencyOperation deleteModuleDependencyOperation;
-//	protected LooseComposedEditModel deleteEditModel;
-//	protected List dirtyEarModels;
-//
-//	protected static String EDIT_MODEL_KEY = "DELETE_MODULES"; //$NON-NLS-1$
-//
-//	public DeleteModuleOperation(DeleteOptions options) {
-//		this.options = options;
-//	}
-//
-//	/**
-//	 * @see HeadlessJ2EEOperation#execute(IProgressMonitor)
-//	 */
-//	protected void execute(IProgressMonitor aMonitor) throws CoreException, InvocationTargetException, InterruptedException {
-//		this.monitor = aMonitor;
-//		try {
-//			buildDeleteCommandsIfNecessary();
-//			if (options.shouldDeleteModuleDependencies()) {
-//				deleteModuleDependencies();
-//			}
-//			checkIfEarsAreDirty();
-//			executeDeferredCommands();
-//			saveModelsIfNecessary();
-//		} finally {
-//			releaseModels();
-//		}
-//
-//	}
-//
-//	protected void checkIfEarsAreDirty() {
-//		dirtyEarModels = new ArrayList();
-//		if (deferredCommands == null)
-//			return;
-//		Iterator models = deferredCommands.keySet().iterator();
-//		while (models.hasNext()) {
-//			EAREditModel model = (EAREditModel) models.next();
-//			if (model.isDirty() && !dirtyEarModels.contains(model)) {
-//				dirtyEarModels.add(model);
-//			}
-//		}
-//	}
-//
-//	protected void buildDeleteCommandsIfNecessary() {
-//		if (deferredCommands != null && !deferredCommands.isEmpty())
-//			return;
-//		deferredCommands = new HashMap();
-//		List earProjects = EARNatureRuntime.getAllEARProjectsInWorkbench();
-//		for (int i = 0; i < earProjects.size(); i++) {
-//			IProject p = (IProject) earProjects.get(i);
-//			if (options.getSelectedProjects().contains(p))
-//				return;
-//			EARNatureRuntime runtime = EARNatureRuntime.getRuntime(p);
-//			if (runtime != null)
-//				buildDeleteCommands(runtime);
-//		}
-//	}
-//
-//	protected void buildDeleteCommands(EARNatureRuntime runtime) {
-//		List commands = new ArrayList();
-//		EAREditModel model = runtime.getEarEditModelForWrite(this);
-//		List projects = options.getModuleAndUtilityProjects();
-//		try {
-//			if (options.shouldDeleteModules()) {
-//				for (int i = 0; i < projects.size(); i++) {
-//					IProject project = (IProject) projects.get(i);
-//					Module m = runtime.getModule(project);
-//					if (m != null)
-//						commands.add(new RemoveModuleFromEARProjectCommand(m, runtime.getProject()));
-//					else {
-//						String uri = runtime.getJARUri(project);
-//						if (uri != null)
-//							commands.add(new RemoveUtilityJARMapCommand(runtime.getProject(), uri, project));
-//					}
-//				}
-//			}
-//			if (!commands.isEmpty())
-//				deferredCommands.put(model, commands);
-//			else
-//				model.releaseAccess(this);
-//		} catch (RuntimeException e) {
-//			model.releaseAccess(this);
-//			throw e;
-//		} catch (Error err) {
-//			model.releaseAccess(this);
-//			throw err;
-//		}
-//	}
-//
-//	/**
-//	 * Do this for unhandled exceptions
-//	 */
-//	protected void releaseModels() {
-//		if (deleteEditModel != null) {
-//			//TODO - RLS, 2/19/2004 we need to revisit the whole notion of the loose composed edit
-//			//model beccause this does not release the nested models as expected, also it looks
-//			// like
-//			// the delete edit model is never created which means validate edit is not happening
-//			//TODO - JAS when you look at this class to clean up the above, also look at
-//			// RenameModuleOperation
-//			//because it has the same kind of mess
-//			deleteEditModel.releaseAccess(this);
-//			deleteEditModel = null;
-//		}
-//		if (deferredCommands != null) {
-//			Iterator iter = deferredCommands.keySet().iterator();
-//			while (iter.hasNext()) {
-//				EditModel editModel = (EditModel) iter.next();
-//				editModel.releaseAccess(this);
-//				iter.remove();
-//			}
-//		}
-//	}
-//
-//	public void release() {
-//		releaseModels();
-//	}
-//
-//	/**
-//	 * After a normal execution flow, save the models if necessary
-//	 */
-//	protected void saveModelsIfNecessary() {
-//		if (deferredCommands == null)
-//			return;
-//		Iterator models = deferredCommands.keySet().iterator();
-//		while (models.hasNext()) {
-//			EAREditModel model = (EAREditModel) models.next();
-//			if (model.isDirty()) {
-//				if (dirtyEarModels.contains(model)) {
-//					model.saveIfNecessary(this);
-//				} else {
-//					model.save(this);
-//				}
-//			}
-//		}
-//	}
-//
-//	protected void deleteModuleDependencies() throws InvocationTargetException, InterruptedException {
-//		getDeleteModuleDependencyOperation().run(monitor);
-//	}
-//
-//	protected DeleteModuleDependencyOperation getDeleteModuleDependencyOperation() {
-//		if (deleteModuleDependencyOperation == null) {
-//			List earEditModels = new ArrayList();
-//			Iterator iter = deferredCommands.keySet().iterator();
-//			while (iter.hasNext())
-//				earEditModels.add(((EAREditModel) iter.next()).getEARNature());
-//			deleteModuleDependencyOperation = new DeleteModuleDependencyOperation(earEditModels, new HashSet(options.getModuleAndUtilityProjects()));
-//		}
-//		return deleteModuleDependencyOperation;
-//	}
-//
-//	protected void executeDeferredCommands() {
-//		Iterator it = deferredCommands.entrySet().iterator();
-//		while (it.hasNext()) {
-//			Map.Entry entry = (Map.Entry) it.next();
-//			List commands = (List) entry.getValue();
-//			executeCommands(commands);
-//
-//		}
-//	}
-//
-//	protected void executeCommands(List commands) {
-//		for (int i = 0; i < commands.size(); i++) {
-//			Command cmd = (Command) commands.get(i);
-//			cmd.execute();
-//		}
-//	}
-//
-//	/**
-//	 * Return a list of all the non-resource files that will get modified as a result of running
-//	 * this operation; used for validate edit.
-//	 */
-//	protected List getAffectedNonResourceFiles() {
-//		if (options.shouldDeleteModuleDependencies())
-//			return getDeleteModuleDependencyOperation().getAffectedFiles();
-//		return Collections.EMPTY_LIST;
-//	}
-//
-//	/**
-//	 * Use this only for validate edits
-//	 */
-//	public ComposedEditModel getDeleteEditModel() {
-//		if (deleteEditModel == null)
-//			initializeDeleteEditModel();
-//		return deleteEditModel;
-//	}
-//
-//	protected void initializeDeleteEditModel() {
-//		if (options.getAllProjectsToDelete().size() == 0) {
-//			throw new RuntimeException(J2EECreationResourceHandler.getString("DeleteModuleOperation_UI_0")); //$NON-NLS-1$
-//		}
-//
-//		buildDeleteCommandsIfNecessary();
-//		IProject project = null;
-//		project = (IProject) options.getAllProjectsToDelete().get(0);
-//
-//		deleteEditModel = new LooseComposedEditModel(EDIT_MODEL_KEY, (EMFWorkbenchContext) WorkbenchResourceHelper.getEMFContext(project)) {
-//
-//			/**
-//			 * @see org.eclipse.jst.j2ee.internal.internal.workbench.EditModel#getNonResourceFiles()
-//			 */
-//			public List getNonResourceFiles() {
-//				List result = super.getNonResourceFiles();
-//				result.addAll(getAffectedNonResourceFiles());
-//				return result;
-//			}
-//		};
-//
-//		Iterator it = deferredCommands.keySet().iterator();
-//		while (it.hasNext()) {
-//			deleteEditModel.addChild((J2EEEditModel) it.next());
-//		}
-//	}
-//
-//	public IStatus getStatus() {
-//		return deleteModuleDependencyOperation.getStatus();
-//	}
-
-}
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/DeleteOptions.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/DeleteOptions.java
index a921577..1fb0f16 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/DeleteOptions.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/delete/DeleteOptions.java
@@ -12,7 +12,9 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class DeleteOptions {
 
 	protected boolean isEARDelete;
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java
index 051d71f..eee910f 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/J2EEProjectUtilities.java
@@ -316,11 +316,14 @@
 					try{
 						archive = helper.accessArchive();
 						if(null != archive){
-							IArchiveResource manifestResource = archive.getArchiveResource(new Path(J2EEConstants.MANIFEST_URI));
-							if(manifestResource != null){
-								in = manifestResource.getInputStream();
-								ArchiveManifest manifest = new ArchiveManifestImpl(in);
-								return manifest;
+							IPath manifestPath = new Path(J2EEConstants.MANIFEST_URI);
+							if(archive.containsArchiveResource(manifestPath)){
+								IArchiveResource manifestResource = archive.getArchiveResource(manifestPath);
+								if(manifestResource != null){
+									in = manifestResource.getInputStream();
+									ArchiveManifest manifest = new ArchiveManifestImpl(in);
+									return manifest;
+								}
 							}
 						}
 					} catch (FileNotFoundException e) {
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/ProjectSupportResourceHandler.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/ProjectSupportResourceHandler.java
index 9da1428..99dfad7 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/ProjectSupportResourceHandler.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/ProjectSupportResourceHandler.java
@@ -56,7 +56,9 @@
 	public static String Names_cannot_contain_whitespace_;
 	public static String Importing_archive;
 	public static String Exporting_archive;
-
+	public static String DYNAMIC_WEB_DISTINCT_SRC_WEBCONTENT_ERROR;
+	public static String DYNAMIC_WEB_PERFORMANCE_VALIDATION;
+	public static String SOURCE_OUPUT_FOLDER_DIFF_BYCASE_ONLY;	
 
 	static {
 		NLS.initializeMessages(BUNDLE_NAME, ProjectSupportResourceHandler.class);
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/SingleRootStatus.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/SingleRootStatus.java
new file mode 100644
index 0000000..52af73c
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/SingleRootStatus.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.j2ee.internal.project;
+
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.jst.j2ee.project.ISingleRootStatus;
+import org.eclipse.wst.common.componentcore.internal.ComponentResource;
+
+public class SingleRootStatus extends Status implements ISingleRootStatus {
+
+	ComponentResource resource;
+
+	public SingleRootStatus(int type, int code, ComponentResource resource, String message, Throwable exception) {
+		super(type, J2EEPlugin.PLUGIN_ID, code, message, exception);
+		this.resource = resource;
+	}
+	
+	public SingleRootStatus(int code, ComponentResource resource, String message) {
+		this(getSeverity(code), code, resource, message, null);
+	}
+	
+	public ComponentResource getComponentResource() {
+		return resource;
+	}
+
+	protected static int getSeverity(int code) {
+		return code == 0 ? 0 : 1 << (code / 33);
+	}
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/WTPJETEmitter.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/WTPJETEmitter.java
index 3f85e03..6036f12 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/WTPJETEmitter.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/project/WTPJETEmitter.java
@@ -72,6 +72,7 @@
 import org.eclipse.osgi.util.ManifestElement;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.Constants;
+import org.osgi.service.prefs.BackingStoreException;
 
 /**
  * @author schacher, mdelder
@@ -273,8 +274,9 @@
 	 * @param javaProject
 	 * @throws CoreException
 	 * @throws JavaModelException
+	 * @throws BackingStoreException 
 	 */
-	protected void initializeJavaProject(IProgressMonitor progressMonitor, final IProject project, IJavaProject javaProject) throws CoreException, JavaModelException {
+	protected void initializeJavaProject(IProgressMonitor progressMonitor, final IProject project, IJavaProject javaProject) throws CoreException, JavaModelException, BackingStoreException {
 		progressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETInitializingProject_message", new Object[]{project.getName()})); //$NON-NLS-1$
 		IClasspathEntry classpathEntry = JavaCore.newSourceEntry(new Path("/" + project.getName() + "/src")); //$NON-NLS-1$ //$NON-NLS-2$
 
@@ -308,6 +310,30 @@
 		IEclipsePreferences prefs = context.getNode( JavaCore.PLUGIN_ID );
 		prefs.put( JavaCore.COMPILER_PB_RAW_TYPE_REFERENCE, JavaCore.IGNORE );
 		prefs.put( JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION, JavaCore.IGNORE );
+		
+		// set Java compiler compliance level to 1.5
+		prefs.put( JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_5 );
+		prefs.put( JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_5 );
+		prefs.put( JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_5 );
+		prefs.put( JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, JavaCore.ERROR );
+		prefs.put( JavaCore.COMPILER_PB_ENUM_IDENTIFIER, JavaCore.ERROR );
+		
+		// set Javadoc validation to the default ignore level
+		prefs.put( JavaCore.COMPILER_PB_INVALID_JAVADOC, JavaCore.IGNORE );
+		prefs.put( JavaCore.COMPILER_PB_INVALID_JAVADOC_TAGS, JavaCore.DISABLED );
+		prefs.put( JavaCore.COMPILER_PB_INVALID_JAVADOC_TAGS__DEPRECATED_REF, JavaCore.DISABLED );
+		prefs.put( JavaCore.COMPILER_PB_INVALID_JAVADOC_TAGS__NOT_VISIBLE_REF, JavaCore.DISABLED );
+		prefs.put( JavaCore.COMPILER_PB_INVALID_JAVADOC_TAGS_VISIBILITY, JavaCore.PUBLIC );
+		prefs.put( JavaCore.COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION, JavaCore.COMPILER_PB_MISSING_JAVADOC_TAG_DESCRIPTION_RETURN_TAG );
+		prefs.put( JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS, JavaCore.IGNORE );
+		prefs.put( JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS_VISIBILITY, JavaCore.PUBLIC );
+		prefs.put( JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING, JavaCore.DISABLED );
+		prefs.put( JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS, JavaCore.IGNORE );
+		prefs.put( JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS_VISIBILITY, JavaCore.PUBLIC );
+		prefs.put( JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING, JavaCore.DISABLED );
+		
+		// store changed properties permanently
+		prefs.flush();
 	}
 
 	/**
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/ClasspathRenameInfo.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/ClasspathRenameInfo.java
index ba2780c..3ebbd2a 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/ClasspathRenameInfo.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/ClasspathRenameInfo.java
@@ -20,6 +20,9 @@
  * A simple structure that remembers for a given project, the manifest entries to be deleted and the
  * build path entries to be deleted
  */
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class ClasspathRenameInfo {
 	/**
 	 * The project from which the dependencies will be removed
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/RenameOptions.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/RenameOptions.java
index 3041a24..b2b1043 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/RenameOptions.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/internal/rename/RenameOptions.java
@@ -13,6 +13,9 @@
 import java.util.Collections;
 import java.util.List;
 
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class RenameOptions {
 	protected boolean isEARRename;
 	protected boolean renameProjects;
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EJBUtilities.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EJBUtilities.java
index 8518e62..c740c9f 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EJBUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EJBUtilities.java
@@ -13,8 +13,13 @@
 import java.util.Properties;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.jst.j2ee.internal.common.CreationConstants;
+import org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper;
 import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.jee.archive.ArchiveModelLoadException;
+import org.eclipse.jst.jee.archive.IArchive;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
@@ -25,6 +30,60 @@
 		// TODO Auto-generated constructor stub
 	}
 
+	public static IVirtualComponent getEJBClientJar(IVirtualComponent ejbComponent){
+		if(!ejbComponent.isBinary()){
+			return getEJBClientJar(ejbComponent.getProject());
+		} else {
+			if(ejbComponent.isBinary()){
+				JavaEEBinaryComponentHelper helper = null; 
+				try{
+					helper = new JavaEEBinaryComponentHelper(ejbComponent);
+					IArchive archive = null;
+					try {
+						archive = helper.accessArchive();
+						IPath ddPath = new Path("META-INF/ejb-jar.xml");
+						if(archive.containsArchiveResource(ddPath)){
+							Object jar = archive.getModelObject(ddPath);
+							String clientJAR = null;
+							if (jar != null)
+							{
+								if (jar instanceof org.eclipse.jst.j2ee.ejb.EJBJar)
+								{
+									clientJAR = ((org.eclipse.jst.j2ee.ejb.EJBJar)jar).getEjbClientJar();
+								}
+								else if (jar instanceof org.eclipse.jst.javaee.ejb.EJBJar)
+								{
+									clientJAR = ((org.eclipse.jst.javaee.ejb.EJBJar)jar).getEjbClientJar();
+								}
+							}
+							if (clientJAR != null) {
+								IVirtualComponent earComponent = ComponentCore.createComponent(ejbComponent.getProject());
+								IVirtualReference[] refs = earComponent.getReferences();
+								for (int i = 0; i < refs.length; i++) {
+									if (refs[i].getArchiveName().equals(clientJAR)) {
+										return refs[i].getReferencedComponent();
+									}
+								}
+							}
+						}
+					} catch (ArchiveModelLoadException e) {
+						org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
+					} finally {
+						if(archive != null){
+							helper.releaseArchive(archive);
+						}
+					}
+				} finally {
+					if(helper != null){
+						helper.dispose();
+					}
+				}
+			} 
+		}
+		return null;
+	}
+	
+	
 	/**
 	 * This method will return the IVirtualComponent of the EJBClientJar for a given EJB project
 	 * @param project
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EarUtilities.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EarUtilities.java
index b7a3867..53f4502 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EarUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/EarUtilities.java
@@ -17,11 +17,18 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.jst.j2ee.application.Module;
+import org.eclipse.jst.j2ee.componentcore.util.EARVirtualComponent;
+import org.eclipse.jst.j2ee.internal.J2EEConstants;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
 import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants;
 import org.eclipse.jst.j2ee.model.IEARModelProvider;
+import org.eclipse.jst.j2ee.model.IModelProvider;
 import org.eclipse.jst.j2ee.model.ModelProviderManager;
 import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
+import org.eclipse.jst.javaee.application.Application;
 import org.eclipse.jst.jee.application.ICommonApplication;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.internal.ReferencedComponent;
@@ -29,6 +36,8 @@
 import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 
 public class EarUtilities extends JavaEEProjectUtilities {
 
@@ -240,4 +249,138 @@
 		return NO_REFERENCES;
 		
 	}
+
+	/**
+	 * Returns a List of ProjectFacetVersions for a given module type that are supported by a given ear version
+	 * @param earProjectFacetVersion - the ProjectFacetVersion for the ENTERPRISE_APPLICATION that the module will be added to
+	 * @param moduleProjectFacet - the module type whose appropriate ProjectFacetVersions are desired
+	 * @return List of compatible ProjectFacetVersions of the moduleProjectFacet type
+	 */
+	public static List<IProjectFacetVersion> getSupportedFacets(IProjectFacetVersion earProjectFacetVersion, IProjectFacet moduleProjectFacet)
+	{
+		List<IProjectFacetVersion> retVal = new ArrayList<IProjectFacetVersion>();
+
+		if (earProjectFacetVersion != null && ENTERPRISE_APPLICATION.equals(earProjectFacetVersion.getProjectFacet().getId()))
+		{
+			String moduleProjectFacetId = moduleProjectFacet.getId();
+			int earVersion = J2EEVersionUtil.convertVersionStringToInt(earProjectFacetVersion.getVersionString());
+
+			if (DYNAMIC_WEB.equals(moduleProjectFacetId))
+			{
+				switch (earVersion)
+				{
+				case J2EEVersionConstants.VERSION_5_0:
+					retVal.add(DYNAMIC_WEB_25);
+				case J2EEVersionConstants.VERSION_1_4:
+					retVal.add(DYNAMIC_WEB_24);
+				case J2EEVersionConstants.VERSION_1_3:
+					retVal.add(DYNAMIC_WEB_23);
+				case J2EEVersionConstants.VERSION_1_2:
+					retVal.add(DYNAMIC_WEB_22);
+				}
+			}
+			else if (EJB.equals(moduleProjectFacetId))
+			{
+				switch (earVersion)
+				{
+				case J2EEVersionConstants.VERSION_5_0:
+					retVal.add(EJB_30);
+				case J2EEVersionConstants.VERSION_1_4:
+					retVal.add(EJB_21);
+				case J2EEVersionConstants.VERSION_1_3:
+					retVal.add(EJB_20);
+				case J2EEVersionConstants.VERSION_1_2:
+					retVal.add(EJB_11);
+				}
+			}
+			else if (JCA.equals(moduleProjectFacetId))
+			{
+				switch (earVersion)
+				{
+				case J2EEVersionConstants.VERSION_5_0:
+				case J2EEVersionConstants.VERSION_1_4:
+					retVal.add(JCA_15);
+				case J2EEVersionConstants.VERSION_1_3:
+					retVal.add(JCA_10);
+				case J2EEVersionConstants.VERSION_1_2:
+					// there is no JCA in EAR 1.2
+				}
+			}
+			else if (APPLICATION_CLIENT.equals(moduleProjectFacetId))
+			{
+				switch (earVersion)
+				{
+				case J2EEVersionConstants.VERSION_5_0:
+					retVal.add(APPLICATION_CLIENT_50);
+				case J2EEVersionConstants.VERSION_1_4:
+					retVal.add(APPLICATION_CLIENT_14);
+				case J2EEVersionConstants.VERSION_1_3:
+					retVal.add(APPLICATION_CLIENT_13);
+				case J2EEVersionConstants.VERSION_1_2:
+					retVal.add(APPLICATION_CLIENT_12);
+				}
+			}
+			else if (UTILITY.equals(moduleProjectFacetId))
+			{
+				retVal.add(UTILITY_FACET_10);
+			}
+			else
+			{
+				// invalid module type
+				throw new IllegalArgumentException("The moduleProjectFacet parameter must be a valid Java EE module type.");
+			}
+		}
+		else
+		{
+			// invalid EAR facet
+			if (earProjectFacetVersion == null)
+				throw new IllegalArgumentException("The earProjectFacetVersion parameter cannot be null");
+			else
+				throw new IllegalArgumentException("The earProjectFacetVersion parameter must be an ENTERPRISE_APPLICATION facet.");
+		}
+
+		return retVal;
+	}
+
+	/**
+	 * Get the library directory from an EAR virtual component
+	 * 
+	 * @param earComponent
+	 *            the EAR virtual component
+	 * 
+	 * @return a runtime representation of the library directory path or null if
+	 *         the EAR's version is lower than 5
+	 */
+	public static String getEARLibDir(EARVirtualComponent earComponent) {
+		// check if the EAR component's version is 5 or greater
+		IProject earProject = earComponent.getProject();
+		if (!JavaEEProjectUtilities.isJEEComponent(earComponent, JavaEEProjectUtilities.DD_VERSION)) {
+			return null;
+		}
+		
+		// default lib dir if there is no deployment descriptor
+		// or if the deployment descriptor does not override
+		String libDir = J2EEConstants.EAR_DEFAULT_LIB_DIR;
+		
+		// retrieve the model provider
+		IModelProvider modelProvider = ModelProviderManager.getModelProvider(earProject);
+		if (modelProvider == null){
+			return libDir;
+		}
+		
+		// retrieve the EAR's deployment descriptor model object
+		Application app = (Application) modelProvider.getModelObject(new Path(J2EEConstants.APPLICATION_DD_URI));
+		if (app == null){
+			return libDir;
+		}
+		
+		// retrieve the library directory from the model
+		String ddLibDir = app.getLibraryDirectory();
+		if (ddLibDir != null) {
+			libDir = ddLibDir;
+		}
+		
+		return libDir;
+	}
+	
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/ISingleRootStatus.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/ISingleRootStatus.java
new file mode 100644
index 0000000..a49ef7e
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/ISingleRootStatus.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.j2ee.project;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.wst.common.componentcore.internal.ComponentResource;
+
+public interface ISingleRootStatus extends IStatus {
+	
+	// Information Only [0-32]
+	
+	// Warnings [33-65]
+	public static final int SOURCE_PATH_NOT_FOUND = 33;
+	
+	// Errors [66-98]
+	public static final int NO_COMPONENT_FOUND = 67;
+
+	public static final int JAVA_OUTPUT_GREATER_THAN_1 = 68;
+
+	public static final int EAR_PROJECT_FOUND = 69;
+
+	public static final int LINKED_RESOURCES_FOUND = 70;
+
+	public static final int JAVA_OUTPUT_NOT_A_CONTENT_ROOT = 71;
+
+	public static final int JAVA_OUTPUT_NOT_WEBINF_CLASSES = 72;
+
+	public static final int ATLEAST_1_RESOURCE_MAP_MISSING = 73;
+
+	public static final int NO_RESOURCE_MAPS_FOUND = 74;
+
+	public static final int ONE_CONTENT_ROOT_REQUIRED = 75;
+
+	public static final int ATLEAST_1_JAVA_SOURCE_REQUIRED = 76;
+
+	public static final int RUNTIME_PATH_NOT_ROOT = 77;
+
+	public static final int SOURCE_NOT_JAVA_CONTAINER = 78;
+
+	public static final int RUNTIME_PATH_NOT_ROOT_OR_WEBINF_CLASSES = 79;
+
+	public static final int ONLY_1_CONTENT_ROOT_ALLOWED = 80;
+	
+	public static final int EXPLICITLY_DISABLED = 81;
+	
+	public ComponentResource getComponentResource();
+
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/JavaEEProjectUtilities.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/JavaEEProjectUtilities.java
index 9cbd036..252027c 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/JavaEEProjectUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/JavaEEProjectUtilities.java
@@ -33,30 +33,40 @@
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
 
 public class JavaEEProjectUtilities extends ProjectUtilities implements IJ2EEFacetConstants {
 	protected static final IVirtualReference[] NO_REFERENCES = new IVirtualReference[0];
-
+	public static final int FACET_VERSION = 0;
+	public static final int DD_VERSION = 1;
+	
 	public JavaEEProjectUtilities() {
 		// TODO Auto-generated constructor stub
 	}
 
 	public static boolean isProjectOfType(IProject project, String typeID) {
+		return getProjectFacetVersion(project, typeID) != null;
+	}
+
+	public static IProjectFacetVersion getProjectFacetVersion(IProject project, String typeID){
 		IFacetedProject facetedProject = null;
 		try {
 			facetedProject = ProjectFacetsManager.create(project);
 		} catch (CoreException e) {
-			return false;
+			return null;
 		}
 
 		if (facetedProject != null && ProjectFacetsManager.isProjectFacetDefined(typeID)) {
 			IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(typeID);
-			return projectFacet != null && facetedProject.hasProjectFacet(projectFacet);
+			if(projectFacet == null){
+				return null;
+			}
+			return facetedProject.getProjectFacetVersion(projectFacet);
 		}
-		return false;
+		return null;
 	}
-
+	
 	private static boolean isProjectOfType(IFacetedProject facetedProject, String typeID) {
 
 		if (facetedProject != null && ProjectFacetsManager.isProjectFacetDefined(typeID)) {
@@ -97,7 +107,7 @@
 	public static boolean isEARProject(IProject project) {
 		return isProjectOfType(project, ENTERPRISE_APPLICATION);
 	}
-
+	
 	public static boolean isDynamicWebComponent(IVirtualComponent component) {
 		if (component.isBinary()) {
 			return isBinaryType(component, JavaEEQuickPeek.WEB_TYPE);
@@ -298,29 +308,165 @@
 	}
 	
 	/**
-	 * Given a component returns weather the component has
-	 * Java EE version greater then or equal to 5 or not
-	 * 
-	 * NOTE: this method uses JavaEEQuickPeek and not the IProject so does require
-	 * more resources to complete.  This is manly for the binary archive case [Bug  241525].
+	 * Given a component returns whether the component has
+	 * Java EE version greater than or equal to 5
 	 * 
 	 * @param component
-	 * @return true if the component is JavaEE version 5 or greater, false otherwise
+	 * @return true if the component is Java EE version 5 or greater, false otherwise
 	 */
 	public static boolean isJEEComponent(IVirtualComponent component){
-		JavaEEQuickPeek qp = JavaEEBinaryComponentHelper.getJavaEEQuickPeek(component);
-		int javaEEVersion = qp.getJavaEEVersion();
-		return javaEEVersion >= J2EEConstants.JEE_5_0_ID;
+		if(component.isBinary()){
+			JavaEEQuickPeek qp = JavaEEBinaryComponentHelper.getJavaEEQuickPeek(component);
+			int javaEEVersion = qp.getJavaEEVersion();
+			return javaEEVersion >= J2EEConstants.JEE_5_0_ID;
+		} else {
+			IProject project = component.getProject();
+			
+			IProjectFacetVersion facetVersion = getProjectFacetVersion(project, ENTERPRISE_APPLICATION);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.ENTERPRISE_APPLICATION_12 ||
+				   facetVersion == IJ2EEFacetConstants.ENTERPRISE_APPLICATION_13 ||
+				   facetVersion == IJ2EEFacetConstants.ENTERPRISE_APPLICATION_14){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, APPLICATION_CLIENT);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.APPLICATION_CLIENT_12 ||
+				   facetVersion == IJ2EEFacetConstants.APPLICATION_CLIENT_13 ||
+				   facetVersion == IJ2EEFacetConstants.APPLICATION_CLIENT_14){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, EJB);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.EJB_11 ||
+				   facetVersion == IJ2EEFacetConstants.EJB_20 ||
+				   facetVersion == IJ2EEFacetConstants.EJB_21){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, DYNAMIC_WEB);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.DYNAMIC_WEB_22 ||
+				   facetVersion == IJ2EEFacetConstants.DYNAMIC_WEB_23 ||
+				   facetVersion == IJ2EEFacetConstants.DYNAMIC_WEB_24){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, JCA);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.JCA_10 ||
+				   facetVersion == IJ2EEFacetConstants.JCA_15 ){
+					return false;
+				}
+				return true;
+			}
+			
+			return false;
+		}
 	}
 	
 	/**
-	 * Given a component returns weather the component has Java EE version less then 5
+	 * Given a component returns whether the component has
+	 * Java EE version greater than or equal to 5
 	 * 
-	 * NOTE: this method uses JavaEEQuickPeek and not the IProject so does require
-	 * more resources to complete.  This is manly for the binary archive case [Bug  241525].
+	 * @param component   - IVirtualComponent
+	 * @param versionType - flag to specify whether to use the facet version
+	 *                      or the DD XML file version
+	 * @return true if the component is Java EE version 5 or greater, false otherwise
+	 */
+	public static boolean isJEEComponent(IVirtualComponent component, int versionType){
+		if (component.isBinary()) {
+			JavaEEQuickPeek qp = JavaEEBinaryComponentHelper.getJavaEEQuickPeek(component);
+			int javaEEVersion = qp.getJavaEEVersion();
+			return javaEEVersion >= J2EEConstants.JEE_5_0_ID;
+		} 
+		
+		IProject project = component.getProject();
+		if (versionType == FACET_VERSION) {
+			IProjectFacetVersion facetVersion = getProjectFacetVersion(project, ENTERPRISE_APPLICATION);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.ENTERPRISE_APPLICATION_12 ||
+				   facetVersion == IJ2EEFacetConstants.ENTERPRISE_APPLICATION_13 ||
+				   facetVersion == IJ2EEFacetConstants.ENTERPRISE_APPLICATION_14){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, APPLICATION_CLIENT);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.APPLICATION_CLIENT_12 ||
+				   facetVersion == IJ2EEFacetConstants.APPLICATION_CLIENT_13 ||
+				   facetVersion == IJ2EEFacetConstants.APPLICATION_CLIENT_14){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, EJB);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.EJB_11 ||
+				   facetVersion == IJ2EEFacetConstants.EJB_20 ||
+				   facetVersion == IJ2EEFacetConstants.EJB_21){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, DYNAMIC_WEB);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.DYNAMIC_WEB_22 ||
+				   facetVersion == IJ2EEFacetConstants.DYNAMIC_WEB_23 ||
+				   facetVersion == IJ2EEFacetConstants.DYNAMIC_WEB_24){
+					return false;
+				}
+				return true;
+			}
+			
+			facetVersion = getProjectFacetVersion(project, JCA);
+			if(facetVersion != null){
+				if(facetVersion == IJ2EEFacetConstants.JCA_10 ||
+				   facetVersion == IJ2EEFacetConstants.JCA_15 ){
+					return false;
+				}
+				return true;
+			}
+			
+			return false;
+		}
+		else {
+			String ddVersion = getJ2EEDDProjectVersion(project);
+			int j2eeLevel = 0;
+			if (isEARProject(project))
+				j2eeLevel = J2EEVersionUtil.convertVersionStringToInt(ddVersion);
+			else if (isDynamicWebProject(project))
+				j2eeLevel = J2EEVersionUtil.convertWebVersionStringToJ2EEVersionID(ddVersion);
+			else if (isEJBProject(project))
+				j2eeLevel = J2EEVersionUtil.convertEJBVersionStringToJ2EEVersionID(ddVersion);
+			else if (isJCAProject(project))
+				j2eeLevel = J2EEVersionUtil.convertConnectorVersionStringToJ2EEVersionID(ddVersion);
+			else if (isApplicationClientProject(project))
+				j2eeLevel = J2EEVersionUtil.convertAppClientVersionStringToJ2EEVersionID(ddVersion);
+			
+			return j2eeLevel >= J2EEVersionConstants.JEE_5_0_ID;
+		}
+	}
+	
+	/**
+	 * Given a component returns whether the component has Java EE version less than 5
 	 * 
 	 * @param component
-	 * @return true if the component is less then JavaEE version 5, false otherwise
+	 * @return true if the component is less then Java EE version 5, false otherwise
 	 */
 	public static boolean isLegacyJ2EEComponent(IVirtualComponent component){
 		return !isJEEComponent(component);
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/SingleRootUtil.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/SingleRootUtil.java
new file mode 100644
index 0000000..11e1e12
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/SingleRootUtil.java
@@ -0,0 +1,482 @@
+/*******************************************************************************
+ * Copyright (c) 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.jst.j2ee.project;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jst.j2ee.internal.J2EEConstants;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.jst.j2ee.internal.project.SingleRootStatus;
+import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.wst.common.componentcore.internal.ComponentResource;
+import org.eclipse.wst.common.componentcore.internal.Property;
+import org.eclipse.wst.common.componentcore.internal.StructureEdit;
+import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+
+public class SingleRootUtil {
+	
+	/** 
+	 * Used to return immediately after the first error code is found.
+	 */
+	public static final int INCLUDE_FIRST_ERROR = 0x08;
+	/** 
+	 * Used to capture all status codes (error, info, warning).
+	 */
+	public static final int INCLUDE_ALL = 0x07;
+	/** 
+	 * Used to capture all error and warning status codes.
+	 */
+	public static final int INCLUDE_ERRORS_AND_WARNINGS = 0x06;
+	/** 
+	 * Used to capture all error status codes.
+	 */
+	public static final int INCLUDE_ERRORS = 0x04;
+	
+	private static final int WARNINGS = 0x02;
+	private static final int INFO = 0x01;
+	private static final int NONE = 0x0;
+	private static String USE_SINGLE_ROOT_PROPERTY = "useSingleRoot"; //$NON-NLS-1$
+	private IVirtualComponent component;
+	private IPackageFragmentRoot[] cachedSourceContainers;
+	private IContainer[] cachedOutputContainers;
+	private boolean isSingleJavaOutputNonSource;
+	private MultiStatus wrapperStatus;
+	private int INCLUDE_FLAG;
+	
+	public SingleRootUtil(IVirtualComponent component) {
+		this.component = component;
+	}
+	
+	/**
+	 * Returns true if this module has a simple structure based on a
+	 * single root folder, and false otherwise.
+     *
+	 * In a single root structure, all files that are contained within the root folder
+	 * are part of the module, and are already in the correct module structure. No
+	 * module resources exist outside of this single folder.
+	 * 
+	 * @return true if this module has a single root structure, and
+	 *         false otherwise
+	 */
+	public boolean isSingleRoot() {
+		return validateSingleRoot(INCLUDE_FIRST_ERROR).getSeverity() != IStatus.ERROR;
+	}
+
+	/**
+	 *  Validates whether the component module has a single root structure.
+	 *  An IStatus with a severity of OK is returned for a valid single root 
+	 *  structure.  A MultiStatus containing children of type ISingleRootStatus
+	 *  is returned if any status codes were captured during the validation.
+	 *  A MultiStatus with a severity of INFO or WARNING is returned for a valid 
+	 *  single root structure containing status codes with no severities of ERROR.
+	 *  A MultiStatus with a severity of ERROR means the component does not have a
+	 *  valid single root structure.
+	 *  
+	 * @param flag - indicates the status codes (by severity) to capture 
+	 *               during the validation.  
+	 *               Valid flags are: INCLUDE_FIRST_ERROR
+	 *               				  INCLUDE_ALL
+	 *                                INCLUDE_ERRORS_AND_WARNINGS
+	 *                                INCLUDE_ERRORS
+	 *               
+	 * @return IStatus
+	 */
+	public IStatus validateSingleRoot(int flag) {
+		INCLUDE_FLAG = flag;
+		isSingleJavaOutputNonSource = false;
+		wrapperStatus = null;
+		StructureEdit edit = null;
+		try {
+			edit = StructureEdit.getStructureEditForRead(getProject());
+			if (edit == null || edit.getComponent() == null) {
+				reportStatus(ISingleRootStatus.NO_COMPONENT_FOUND);
+				return getStatus();
+			}
+		
+			WorkbenchComponent wbComp = edit.getComponent();
+			List resourceMaps = wbComp.getResources();
+			
+			// 229650 - check to see if the property 'useSingleRoot' is defined. If it is set and
+			// the value of the property is true then it will override the logic checks below
+			final List componentProperties = wbComp.getProperties();
+			if (componentProperties != null) {
+				final Iterator componentPropertiesIterator = componentProperties.iterator();
+				while (componentPropertiesIterator.hasNext()) {
+					Property wbProperty = (Property) componentPropertiesIterator.next();
+					if (USE_SINGLE_ROOT_PROPERTY.equals(wbProperty.getName())) {
+						boolean useSingleRoot = Boolean.valueOf(wbProperty.getValue()).booleanValue();
+						if (useSingleRoot) {
+							return Status.OK_STATUS;
+						} else {
+							reportStatus(ISingleRootStatus.EXPLICITLY_DISABLED);
+							return getStatus();
+						}
+					}
+				}
+			}
+			
+			if (JavaEEProjectUtilities.isEARProject(getProject())) {
+				// Always return false for EARs so that members for EAR are always calculated and j2ee modules are filtered out
+				reportStatus(ISingleRootStatus.EAR_PROJECT_FOUND);
+			} else if (JavaEEProjectUtilities.isDynamicWebProject(getProject())) {
+				//validate web projects for single root
+				validateWebProject(resourceMaps);
+			} 
+			else if (JavaEEProjectUtilities.isEJBProject(getProject()) || JavaEEProjectUtilities.isJCAProject(getProject())
+					|| JavaEEProjectUtilities.isApplicationClientProject(getProject()) || JavaEEProjectUtilities.isUtilityProject(getProject())) {
+				
+				validateProject(resourceMaps);
+			}
+			//return the current status
+			return getStatus();
+		} finally {
+			cachedOutputContainers = null;
+			cachedSourceContainers = null;
+			if (edit != null)
+				edit.dispose();
+		}
+	}
+
+	private void validateProject(List resourceMaps) {
+		// if there are any linked resources then this is not a singleroot module
+		if (this.rootFoldersHaveLinkedContent()) {
+			reportStatus(ISingleRootStatus.LINKED_RESOURCES_FOUND);
+			if (INCLUDE_FLAG == NONE) return;
+		}
+		
+		// Ensure there are only source folder component resource mappings to the root content folder
+		if (isRootResourceMapping(resourceMaps)) {
+			IContainer[] javaOutputFolders = getJavaOutputFolders();
+			// Verify only one java outputfolder
+			if (javaOutputFolders.length==1) {
+				// By the time we get here we know: for any folders defined as source in the 
+				// .component file that they are also java source folders.
+				if (!isSourceContainer(javaOutputFolders[0].getFullPath())) {
+					// The single output folder is NOT a source folder so this is single-rooted. Since the
+					// output folder (something like classes or bin) is not a source folder, JDT copies all files
+					// (including non Java files) to this folder, so every resource needed at runtime is located 
+					// in a single directory.
+					isSingleJavaOutputNonSource  = true;
+					return;
+				} 
+				// Verify the java output folder is the same as one of the content roots
+				IPath javaOutputPath = getJavaOutputFolders()[0].getProjectRelativePath();
+				IContainer[] rootFolders = component.getRootFolder().getUnderlyingFolders();
+				for (int i=0; i<rootFolders.length; i++) {
+					IPath compRootPath = rootFolders[i].getProjectRelativePath();
+					if (javaOutputPath.equals(compRootPath))
+						return;
+				}
+				reportStatus(ISingleRootStatus.JAVA_OUTPUT_NOT_A_CONTENT_ROOT);
+			}
+			else {
+				reportStatus(ISingleRootStatus.JAVA_OUTPUT_GREATER_THAN_1);
+			}
+		}
+	}
+
+	private void validateWebProject(List resourceMaps) {
+		// if there are any linked resources then this is not a singleroot module
+		if (this.rootFoldersHaveLinkedContent()) {
+			reportStatus(ISingleRootStatus.LINKED_RESOURCES_FOUND);
+			if (INCLUDE_FLAG == NONE) return;
+		}
+		
+		// Ensure there are only basic component resource mappings -- one for the content folder 
+		// and any for src folders mapped to WEB-INF/classes
+		if (hasDefaultWebResourceMappings(resourceMaps)) {
+			// Verify only one java output folder
+			if (getJavaOutputFolders().length==1) {
+				// Verify the java output folder is to <content root>/WEB-INF/classes
+				IPath javaOutputPath = getJavaOutputFolders()[0].getProjectRelativePath();
+				IPath compRootPath = component.getRootFolder().getUnderlyingFolder().getProjectRelativePath();
+				if (compRootPath.append(J2EEConstants.WEB_INF_CLASSES).equals(javaOutputPath)) {
+					return;
+				}
+				else {
+					reportStatus(ISingleRootStatus.JAVA_OUTPUT_NOT_WEBINF_CLASSES);
+				}
+			}
+			else {
+				reportStatus(ISingleRootStatus.JAVA_OUTPUT_GREATER_THAN_1);
+			}
+		}
+	}
+
+	/**
+	 * Returns the root folders containing Java output in this module.
+	 * 
+	 * @return a possibly-empty array of Java output folders
+	 */
+	public IContainer[] getJavaOutputFolders() {
+		if (cachedOutputContainers == null)
+			cachedOutputContainers = getJavaOutputFolders(getProject());
+		return cachedOutputContainers;
+	}
+	
+	public IContainer[] getJavaOutputFolders(IProject project) {
+		if (project == null)
+			return new IContainer[0];
+		return J2EEProjectUtilities.getOutputContainers(project);
+	}
+	
+	/**
+	 * Checks if the path argument is to a source container for the project.
+	 * 
+	 * @param a workspace relative full path
+	 * @return is path a source container?
+	 */
+	private boolean isSourceContainer(IPath path) {
+		IPackageFragmentRoot[] srcContainers = getSourceContainers();
+		for (int i = 0; i < srcContainers.length; i++) {
+			if (srcContainers[i].getPath().equals(path))
+				return true;
+		}
+		return false;
+	}
+	
+	private IPackageFragmentRoot[] getSourceContainers() {
+		if (cachedSourceContainers == null)
+			cachedSourceContainers = J2EEProjectUtilities.getSourceContainers(getProject());
+		return cachedSourceContainers;
+	}
+	
+	/*
+     * This method returns true if the root folders of this component have any linked resources (folder or file);
+     * Otherwise false is returned.
+     */
+    private boolean rootFoldersHaveLinkedContent() {
+    	if (this.component != null) {
+    		final IContainer[] rootFolders = this.component.getRootFolder().getUnderlyingFolders();
+    		for (int i = 0; i < rootFolders.length; i++) {
+    			try {
+    				boolean hasLinkedContent = this.hasLinkedContent(rootFolders[i]);
+    				if (hasLinkedContent) {
+    					return true;
+    				}
+    			}
+    			catch (CoreException coreEx) {
+    				J2EEPlugin.logError(coreEx);
+    			}
+    		}
+    	}
+    	return false;
+    }
+    
+    /*
+     * If the resource to check is a file then this method will return true if the file is linked. If the resource to
+     * check is a folder then this method will return true if it, any of its sub directories, or any file contained
+     * with-in this directory of any of it's sub directories are linked. Otherwise false is returned.
+     */
+    private boolean hasLinkedContent(final IResource resourceToCheck) throws CoreException {
+    	if ((resourceToCheck != null) && resourceToCheck.isAccessible()) {
+    		// skip non-accessible files
+    		if (resourceToCheck.isLinked()) {
+    			return true;
+    		}
+    		else {
+    			switch (resourceToCheck.getType()) {
+    				case IResource.FOLDER:
+    					// recursively check sub directory contents
+    					final IResource[] subDirContents = ((IFolder) resourceToCheck).members();
+    					for (int i = 0; i < subDirContents.length; i++) {
+    						if (hasLinkedContent(subDirContents[i])) {
+    							return true;
+    						}
+    					}
+    					break;
+    				case IResource.FILE:
+    					return resourceToCheck.isLinked();
+    				default:
+    					// skip as we only care about files and folders
+    					break;
+    			}
+    		}
+    	}
+    	return false;
+    }
+    
+    /**
+	 * Ensure that any component resource mappings are for source folders and 
+	 * that they map to the root content folder
+	 * 
+	 * @param resourceMaps
+	 * @return boolean
+	 */
+	private boolean isRootResourceMapping(List resourceMaps) {
+		// If the list is empty, return false
+		if (resourceMaps.size() < 1) {
+			reportStatus(ISingleRootStatus.NO_RESOURCE_MAPS_FOUND);
+			return false;
+		}
+		
+		for (int i=0; i < resourceMaps.size(); i++) {
+			ComponentResource resourceMap = (ComponentResource) resourceMaps.get(i);
+			// Verify it maps to "/" for the content root
+			if (!resourceMap.getRuntimePath().equals(Path.ROOT)) {
+				reportStatus(ISingleRootStatus.RUNTIME_PATH_NOT_ROOT, resourceMap);
+				if (INCLUDE_FLAG == NONE) return false;
+			}
+			
+			// verify it is also a src container
+			IResource sourceResource = getProject().findMember(resourceMap.getSourcePath());
+			if (sourceResource != null && sourceResource.exists()){
+				IPath sourcePath = getProject().getFullPath().append(resourceMap.getSourcePath());
+				if (!isSourceContainer(sourcePath))
+					reportStatus(ISingleRootStatus.SOURCE_NOT_JAVA_CONTAINER, resourceMap);
+			}
+			else {
+				reportStatus(ISingleRootStatus.SOURCE_PATH_NOT_FOUND, resourceMap);
+			}
+			if (INCLUDE_FLAG == NONE) return false;
+		}
+		return true;
+	}
+	
+	/**
+	 * Ensure the default web setup is correct with one resource map and any number of java 
+	 * resource maps to WEB-INF/classes
+	 * 
+	 * @param resourceMaps
+	 * @return boolean
+	 */
+	private boolean hasDefaultWebResourceMappings(List resourceMaps) {
+		int rootValidMaps = 0;
+		int javaValidRoots = 0;
+		
+		// If there aren't at least 2 maps, return false
+		if (INCLUDE_FLAG == INCLUDE_FIRST_ERROR && resourceMaps.size() < 2) {
+			reportStatus(ISingleRootStatus.ATLEAST_1_RESOURCE_MAP_MISSING);
+			return false;
+		}
+		
+		IPath webInfClasses = new Path(J2EEConstants.WEB_INF_CLASSES).makeAbsolute();
+		for (int i = 0; i < resourceMaps.size(); i++) {
+			ComponentResource resourceMap = (ComponentResource) resourceMaps.get(i);
+			IPath sourcePath = getProject().getFullPath().append(resourceMap.getSourcePath());
+
+			// Verify if the map is for the content root
+			if (resourceMap.getRuntimePath().equals(Path.ROOT)) {
+				rootValidMaps++;
+			} 
+			// Verify if the map is for a java src folder and is mapped to "WEB-INF/classes"
+			else if (resourceMap.getRuntimePath().equals(webInfClasses)) {
+				if (exists(sourcePath)) {
+					if (isSourceContainer(sourcePath)) {
+						javaValidRoots++;
+					}
+					else {
+						reportStatus(ISingleRootStatus.SOURCE_NOT_JAVA_CONTAINER, resourceMap);
+					}
+				}
+				else {
+					reportStatus(ISingleRootStatus.SOURCE_PATH_NOT_FOUND, resourceMap);
+				}
+			}
+			else {
+				reportStatus(ISingleRootStatus.RUNTIME_PATH_NOT_ROOT_OR_WEBINF_CLASSES, resourceMap);
+			}
+			if (INCLUDE_FLAG == NONE) return false;
+		}
+		// Make sure only one of the maps is the content root, and that at least one is for the java folder
+		if (rootValidMaps != 1) {
+			if (rootValidMaps < 1) {
+				reportStatus(ISingleRootStatus.ONE_CONTENT_ROOT_REQUIRED);
+			}
+			else if (rootValidMaps > 1) {
+				reportStatus(ISingleRootStatus.ONLY_1_CONTENT_ROOT_ALLOWED);
+			}
+			if (INCLUDE_FLAG == NONE) return false;
+		}
+		if (javaValidRoots < 1) {
+			reportStatus(ISingleRootStatus.ATLEAST_1_JAVA_SOURCE_REQUIRED);
+		}		
+		return INCLUDE_FLAG == NONE ? false : true;
+	}
+	
+	/**
+	 * Checks if the path argument exists relative to this workspace root.
+	 * 
+	 * @param a workspace relative full path
+	 * @return is path in the workspace?
+	 */
+	private boolean exists(IPath path) {
+		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+		return workspaceRoot.exists(path);
+	}
+
+	private IProject getProject() {
+		return component.getProject();
+	}
+
+	public boolean isSingleJavaOutputNonSource() {
+		return isSingleJavaOutputNonSource;
+	}
+	
+	public void reportStatus(int code) {
+		reportStatus(code, null, null);
+	}
+	
+	public void reportStatus(int code, ComponentResource resource) {
+		reportStatus(code, resource, null);
+	}
+	
+	public void reportStatus(int code, ComponentResource resource, String message) {
+		ISingleRootStatus status = new SingleRootStatus(code, resource, message);
+		if (status.getSeverity() == IStatus.ERROR) {
+			if ((INCLUDE_FLAG & INCLUDE_FIRST_ERROR) != 0) {
+				INCLUDE_FLAG = NONE;
+				addStatus(status);
+			}
+			else if ((INCLUDE_FLAG & INCLUDE_ERRORS) != 0) {
+				addStatus(status);
+			}
+		}
+		else if (status.getSeverity() == IStatus.WARNING && (INCLUDE_FLAG & WARNINGS) != 0) {
+			addStatus(status);
+		}
+		else if (status.getSeverity() == IStatus.INFO && (INCLUDE_FLAG & INFO) != 0) { 
+			addStatus(status);
+		}
+	}
+
+	public IStatus getStatus() {
+		if (wrapperStatus != null) {
+			return wrapperStatus;
+		}
+		return Status.OK_STATUS;
+	}
+
+	private void addStatus(ISingleRootStatus status) {
+		if (wrapperStatus == null) {
+			wrapperStatus = new MultiStatus(J2EEPlugin.PLUGIN_ID, 0, new IStatus[] { status }, null, null);
+		}
+		else {
+			wrapperStatus.add(status);
+		}
+	}
+	
+}
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/WebUtilities.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/WebUtilities.java
index b3b6e25..fd91b26 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/WebUtilities.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/WebUtilities.java
@@ -14,9 +14,11 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent;
+import org.eclipse.jst.j2ee.internal.J2EEConstants;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.common.XMLResource;
 import org.eclipse.jst.j2ee.model.ModelProviderManager;
@@ -110,4 +112,41 @@
 		IVirtualComponent webComponent = ComponentCore.createComponent(webProject);
 		return getLibModules(webComponent);
 	}
+
+	/**
+	 * Determines whether the specified object is an accessible web resource.
+	 * 
+	 * <p>
+	 * An accessible web object is a file or directory that can be accessed
+	 * through an URI after deploying on an application server.
+	 * </p>
+	 * 
+	 * <p>
+	 * This includes all files and directories that are under the WebContent
+	 * root directory of a Dynamic Web Project and are not under the WEB-INF and
+	 * META-INF folders.
+	 * </p>
+	 * 
+	 * @param object
+	 *            the object to test
+	 * @return <code>true</code> if accessible web object, <code>false</code> -
+	 *         otherwise.
+	 */
+	public static boolean isWebResource(Object object) {
+		if (object instanceof IResource) {
+			IResource resource = (IResource) object;
+			IVirtualComponent component = ComponentCore.createComponent(resource.getProject());
+			if (component != null && JavaEEProjectUtilities.isDynamicWebComponent(component)) {
+				IPath rootPath = component.getRootFolder().getWorkspaceRelativePath();
+				IPath webInfPath = rootPath.append(J2EEConstants.WEB_INF);
+				IPath metaInfPath = rootPath.append(J2EEConstants.META_INF);
+				IPath resourcePath = resource.getFullPath();
+				return rootPath.isPrefixOf(resourcePath) && 
+						!rootPath.equals(resourcePath) &&
+						!webInfPath.isPrefixOf(resourcePath) && 
+						!metaInfPath.isPrefixOf(resourcePath);
+			}
+		}
+		return false;
+	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/IJ2EEFacetConstants.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/IJ2EEFacetConstants.java
index 340582a..2f9c875 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/IJ2EEFacetConstants.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/IJ2EEFacetConstants.java
@@ -19,28 +19,28 @@
 
 	//moduleTypes
 	public static final String ENTERPRISE_APPLICATION = IModuleConstants.JST_EAR_MODULE;
-	public static final IProjectFacet ENTERPRISE_APPLICATION_FACET = ProjectFacetsManager.getProjectFacet(ENTERPRISE_APPLICATION);
+	public IProjectFacet ENTERPRISE_APPLICATION_FACET = ProjectFacetsManager.getProjectFacet(ENTERPRISE_APPLICATION);
 	public static final IProjectFacetVersion ENTERPRISE_APPLICATION_12 = ENTERPRISE_APPLICATION_FACET.getVersion("1.2"); //$NON-NLS-1$
 	public static final IProjectFacetVersion ENTERPRISE_APPLICATION_13 = ENTERPRISE_APPLICATION_FACET.getVersion("1.3"); //$NON-NLS-1$
 	public static final IProjectFacetVersion ENTERPRISE_APPLICATION_14 = ENTERPRISE_APPLICATION_FACET.getVersion("1.4"); //$NON-NLS-1$
 	public static final IProjectFacetVersion ENTERPRISE_APPLICATION_50 = ENTERPRISE_APPLICATION_FACET.getVersion("5.0"); //$NON-NLS-1$
 	
 	public static final String APPLICATION_CLIENT = IModuleConstants.JST_APPCLIENT_MODULE;
-	public static final IProjectFacet APPLICATION_CLIENT_FACET = ProjectFacetsManager.getProjectFacet(APPLICATION_CLIENT);
+	public IProjectFacet APPLICATION_CLIENT_FACET = ProjectFacetsManager.getProjectFacet(APPLICATION_CLIENT);
 	public static final IProjectFacetVersion APPLICATION_CLIENT_12 = APPLICATION_CLIENT_FACET.getVersion("1.2"); //$NON-NLS-1$
 	public static final IProjectFacetVersion APPLICATION_CLIENT_13 = APPLICATION_CLIENT_FACET.getVersion("1.3"); //$NON-NLS-1$
 	public static final IProjectFacetVersion APPLICATION_CLIENT_14 = APPLICATION_CLIENT_FACET.getVersion("1.4"); //$NON-NLS-1$
 	public static final IProjectFacetVersion APPLICATION_CLIENT_50 = APPLICATION_CLIENT_FACET.getVersion("5.0"); //$NON-NLS-1$
 	
 	public static final String EJB = IModuleConstants.JST_EJB_MODULE;
-	public static final IProjectFacet EJB_FACET = ProjectFacetsManager.getProjectFacet(EJB);
+	public IProjectFacet EJB_FACET = ProjectFacetsManager.getProjectFacet(EJB);
 	public static final IProjectFacetVersion EJB_11 = EJB_FACET.getVersion("1.1"); //$NON-NLS-1$
 	public static final IProjectFacetVersion EJB_20 = EJB_FACET.getVersion("2.0"); //$NON-NLS-1$
 	public static final IProjectFacetVersion EJB_21 = EJB_FACET.getVersion("2.1"); //$NON-NLS-1$
 	public static final IProjectFacetVersion EJB_30 = EJB_FACET.getVersion("3.0"); //$NON-NLS-1$
 
 	public static final String DYNAMIC_WEB = IModuleConstants.JST_WEB_MODULE;
-	public static final IProjectFacet DYNAMIC_WEB_FACET = ProjectFacetsManager.getProjectFacet(DYNAMIC_WEB);
+	public IProjectFacet DYNAMIC_WEB_FACET = ProjectFacetsManager.getProjectFacet(DYNAMIC_WEB);
 	public static final IProjectFacetVersion DYNAMIC_WEB_22 = DYNAMIC_WEB_FACET.getVersion("2.2"); //$NON-NLS-1$
 	public static final IProjectFacetVersion DYNAMIC_WEB_23 = DYNAMIC_WEB_FACET.getVersion("2.3"); //$NON-NLS-1$
 	public static final IProjectFacetVersion DYNAMIC_WEB_24 = DYNAMIC_WEB_FACET.getVersion("2.4"); //$NON-NLS-1$
@@ -49,11 +49,13 @@
 	public static final String DYNAMIC_WEB_XDOCLET = "jst.web.xdoclet"; //$NON-NLS-1$
 	
 	public static final String UTILITY = IModuleConstants.JST_UTILITY_MODULE;
-	public static final IProjectFacet UTILITY_FACET = ProjectFacetsManager.getProjectFacet(UTILITY);
+	public IProjectFacet UTILITY_FACET = ProjectFacetsManager.getProjectFacet(UTILITY);
 	public static final IProjectFacetVersion UTILITY_FACET_10 = UTILITY_FACET.getVersion("1.0"); //$NON-NLS-1$ 
 
 	public static final String JCA = IModuleConstants.JST_CONNECTOR_MODULE;
-	public static final IProjectFacet JCA_FACET = ProjectFacetsManager.getProjectFacet(JCA);
+	public IProjectFacet JCA_FACET = ProjectFacetsManager.getProjectFacet(JCA);
+	public static final IProjectFacetVersion JCA_10 = JCA_FACET.getVersion("1.0"); //$NON-NLS-1$
+	public static final IProjectFacetVersion JCA_15 = JCA_FACET.getVersion("1.5"); //$NON-NLS-1$
 
 	public static final String STATIC_WEB = IModuleConstants.WST_WEB_MODULE;
 
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetInstallDelegate.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetInstallDelegate.java
index 61e0cc3..2ca78c7 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetInstallDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetInstallDelegate.java
@@ -21,14 +21,16 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jem.util.UIContextDetermination;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jem.util.logger.proxy.Logger;
-import org.eclipse.jst.common.frameworks.CommonFrameworksPlugin;
 import org.eclipse.jst.j2ee.application.internal.operations.AddComponentToEnterpriseApplicationDataModelProvider;
 import org.eclipse.jst.j2ee.application.internal.operations.IAddComponentToEnterpriseApplicationDataModelProperties;
 import org.eclipse.jst.j2ee.internal.J2EEConstants;
@@ -44,16 +46,20 @@
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
-import org.eclipse.wst.project.facet.ProductManager;
 import org.eclipse.wst.web.internal.facet.RuntimePresetMappingRegistry;
 
 public abstract class J2EEFacetInstallDelegate {
 
 	protected static void addToClasspath(final IJavaProject jproj, final IClasspathEntry entry) throws CoreException {
-		final IClasspathEntry[] current = jproj.getRawClasspath();
-		final IClasspathEntry[] updated = new IClasspathEntry[current.length + 1];
-		System.arraycopy(current, 0, updated, 0, current.length);
-		updated[current.length] = entry;
+		final IClasspathEntry[] existingEntries = jproj.getRawClasspath();
+		for(IClasspathEntry existingEntry : existingEntries){
+			if(existingEntry.equals(entry)){
+				return;
+			}
+		}
+		final IClasspathEntry[] updated = new IClasspathEntry[existingEntries.length + 1];
+		System.arraycopy(existingEntries, 0, updated, 0, existingEntries.length);
+		updated[existingEntries.length] = entry;
 		jproj.setRawClasspath(updated, null);
 	}
 
@@ -66,68 +72,77 @@
 		if( project.exists())
 			return;
 		
-		final IFacetedProjectWorkingCopy fpjwc = FacetedProjectFramework.createNewProject();
-		
-		fpjwc.setProjectName( earProjectName );
-		
-		if( runtime != null )
-		{
-		    fpjwc.setTargetedRuntimes( Collections.singleton( runtime ) );
-		}
-		
-		fpjwc.setFixedProjectFacets( Collections.singleton( EARFacetUtils.EAR_FACET ) );
-		fpjwc.setSelectedPreset( FacetedProjectFramework.DEFAULT_CONFIGURATION_PRESET_ID );
-		
-		if( j2eeVersionText != null )
-		{
-		    final IProjectFacetVersion defaultEarFacetVersion
-		        = fpjwc.getProjectFacetVersion( EARFacetUtils.EAR_FACET );
-		    
-		    if( ! defaultEarFacetVersion.getVersionString().equals( j2eeVersionText ) )
-		    {
-		        String presetId = null;
-		        
-		        if( runtime != null )
-		        {
-    		        for( IRuntimeComponent rc : runtime.getRuntimeComponents() )
-    		        {
-    		            presetId = RuntimePresetMappingRegistry.INSTANCE.getPresetID
-    		            ( 
-    		                rc.getRuntimeComponentType().getId(),
-    		                rc.getRuntimeComponentVersion().getVersionString(), 
-    		                EARFacetUtils.EAR_FACET.getId(), 
-    		                j2eeVersionText 
-    		            );
-    		            
-    		            if( presetId != null )
-    		            {
-    		                break;
-    		            }
-    		        }
-		        }
-		        
-                final IProjectFacetVersion earFacetVersion
-                    = EARFacetUtils.EAR_FACET.getVersion( j2eeVersionText );
-            
-                // Note that the next call is necessary even if a preset is going to be selected 
-                // later since it allows the dynamic preset to adjust for the ear facet version.
-                
-                fpjwc.setProjectFacets( Collections.singleton( earFacetVersion ) );
-                
-		        if( presetId != null )
-		        {
-		            fpjwc.setSelectedPreset( presetId );
-		        }
-		    }
-		}
-		
+		IFacetedProjectWorkingCopy fpjwc = null;
 		try
-		{
-		    fpjwc.commitChanges( null );
-		}
-		catch( CoreException e )
-		{
-		    Logger.getLogger().logError( e );
+		{	
+			fpjwc = FacetedProjectFramework.createNewProject();		
+		
+		
+			fpjwc.setProjectName( earProjectName );
+			
+			if( runtime != null )
+			{
+			    fpjwc.setTargetedRuntimes( Collections.singleton( runtime ) );
+			}
+			
+			fpjwc.setFixedProjectFacets( Collections.singleton( EARFacetUtils.EAR_FACET ) );
+			fpjwc.setSelectedPreset( FacetedProjectFramework.DEFAULT_CONFIGURATION_PRESET_ID );
+			
+			if( j2eeVersionText != null )
+			{
+			    final IProjectFacetVersion defaultEarFacetVersion
+			        = fpjwc.getProjectFacetVersion( EARFacetUtils.EAR_FACET );
+			    
+			    if( ! defaultEarFacetVersion.getVersionString().equals( j2eeVersionText ) )
+			    {
+			        String presetId = null;
+			        
+			        if( runtime != null )
+			        {
+	    		        for( IRuntimeComponent rc : runtime.getRuntimeComponents() )
+	    		        {
+	    		            presetId = RuntimePresetMappingRegistry.INSTANCE.getPresetID
+	    		            ( 
+	    		                rc.getRuntimeComponentType().getId(),
+	    		                rc.getRuntimeComponentVersion().getVersionString(), 
+	    		                EARFacetUtils.EAR_FACET.getId(), 
+	    		                j2eeVersionText 
+	    		            );
+	    		            
+	    		            if( presetId != null )
+	    		            {
+	    		                break;
+	    		            }
+	    		        }
+			        }
+			        
+	                final IProjectFacetVersion earFacetVersion
+	                    = EARFacetUtils.EAR_FACET.getVersion( j2eeVersionText );
+	            
+	                // Note that the next call is necessary even if a preset is going to be selected 
+	                // later since it allows the dynamic preset to adjust for the ear facet version.
+	                
+	                fpjwc.setProjectFacets( Collections.singleton( earFacetVersion ) );
+	                
+			        if( presetId != null )
+			        {
+			            fpjwc.setSelectedPreset( presetId );
+			        }
+			    }
+			}
+			
+			try
+			{
+			    fpjwc.commitChanges( null );
+			}
+			catch( CoreException e )
+			{
+			    Logger.getLogger().logError( e );
+			}
+		}finally {
+			if(fpjwc != null){
+				fpjwc.dispose();
+			}
 		}
 	}
 	
@@ -194,22 +209,19 @@
     
     /**
      * This method will set the output property on the model element for the given component.
-     * If the single root structure is set for optimized use, the output folder will be the
-     * content root.  Otherwise the default will be used.  This may be overrided by specific
-     * J2EE modules to do more appropriate behaviour.
      * 
      * @param model
      * @param component
      */
     protected void setOutputFolder(IDataModel model, IVirtualComponent component) {
-		String outputFolder = null;
-		// If using single root structure, set output folder to be the content folder
-		if (ProductManager.shouldUseSingleRootStructure())
-			outputFolder = model.getStringProperty(IJ2EEModuleFacetInstallDataModelProperties.CONFIG_FOLDER);
-		// Otherwise just use the product default for java output path
-		else
-			outputFolder = CommonFrameworksPlugin.getDefault().getPluginPreferences().getString(CommonFrameworksPlugin.OUTPUT_FOLDER);
-		component.setMetaProperty("java-output-path", outputFolder ); //$NON-NLS-1$
+		IJavaProject javaProject = JavaCore.create(component.getProject());
+		IPath currentDefaultOutput = null;
+		try {
+			currentDefaultOutput = javaProject.getOutputLocation();
+			component.setMetaProperty("java-output-path", currentDefaultOutput.toString() ); //$NON-NLS-1$			
+		} catch (JavaModelException e) {
+			org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
+		}
 	}
-  
+ 
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java
index a58fbe9..27c4083 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEFacetRuntimeChangedDelegate.java
@@ -11,12 +11,29 @@
 
 package org.eclipse.jst.j2ee.project.facet;
 
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ProjectScope;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jst.common.project.facet.core.ClasspathHelper;
+import org.eclipse.jst.common.project.facet.core.IClasspathProvider;
+import org.eclipse.jst.common.project.facet.core.internal.FacetCorePlugin;
 import org.eclipse.wst.common.project.facet.core.IDelegate;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.IRuntimeChangedEvent;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
+import org.osgi.service.prefs.BackingStoreException;
 
 /**
  * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
@@ -42,7 +59,9 @@
         
         try
         {
-            ClasspathHelper.removeClasspathEntries( project, fv );
+        	IRuntimeChangedEvent event = (IRuntimeChangedEvent)cfg;
+        	// Using our remove Utility to first check for missing preferences
+            removeClasspathEntries( project, fv,  event.getOldRuntime());
             
             if( ! ClasspathHelper.addClasspathEntries( project, fv ) )
             {
@@ -63,5 +82,76 @@
             }
         }
     }
+    private void removeClasspathEntries(IProject project, IProjectFacetVersion fv, IRuntime oldRuntime) throws CoreException {
+		IJavaProject jproj = JavaCore.create(project);
+		List cp = getClasspath(jproj);
+		boolean hasPrefs = hasClasspathPreferencesNode(project);
+
+		// In the case where no prefs exists... make sure the entries of the
+		// oldRuntime are removed before continuing
+		if (!hasPrefs) {
+			removeOnlyCPEntries(project, fv, jproj, cp, oldRuntime);
+		} else
+			ClasspathHelper.removeClasspathEntries(project, fv);
+	}
+    private boolean hasClasspathPreferencesNode(IProject project) {
+		ProjectScope scope = new ProjectScope(project);
+		IEclipsePreferences pluginRoot = scope.getNode(FacetCorePlugin.PLUGIN_ID);
+		boolean classpathNodeExists = false;
+		try {
+			classpathNodeExists = pluginRoot.nodeExists("classpath.helper");
+		} catch (BackingStoreException e) {
+			org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
+		}
+		return classpathNodeExists;
+	}
+	private void removeOnlyCPEntries(final IProject project, final IProjectFacetVersion fv, final IJavaProject jproj, final List cp,
+			IRuntime oldRuntime) throws CoreException {
+		IFacetedProject fproj = ProjectFacetsManager.create(project);
+		IRuntime runtime = (oldRuntime != null) ? oldRuntime : fproj.getPrimaryRuntime();
+	
+		if (runtime != null) {
+			IClasspathProvider cpprov = (IClasspathProvider) runtime.getAdapter(IClasspathProvider.class);
+			List cpentries = cpprov.getClasspathEntries(fv);
+			boolean realCPChanged = false;
+			if (cpentries != null) {
+			for (Iterator itr = cpentries.iterator(); itr.hasNext();) {
+				IClasspathEntry cpentry = (IClasspathEntry) itr.next();
+				IPath path = cpentry.getPath();
+				boolean contains = cp.contains(cpentry);
+	
+				if (contains) {
+					for (Iterator itr2 = cp.iterator(); itr2.hasNext();) {
+						final IClasspathEntry realEntry = (IClasspathEntry) itr2.next();
+	
+						if (realEntry.getPath().equals(path)) {
+							itr2.remove();
+							realCPChanged = true;
+							break;
+						}
+					}
+				}
+			}
+			}
+			if (realCPChanged) {
+				IClasspathEntry[] newcp = (IClasspathEntry[]) cp.toArray(new IClasspathEntry[cp.size()]);
+				jproj.setRawClasspath(newcp, null);
+			}
+		}
+	}
+	private List getClasspath(final IJavaProject jproj)
+	
+	throws CoreException
+	
+	{
+		ArrayList list = new ArrayList();
+		IClasspathEntry[] cp = jproj.getRawClasspath();
+	
+		for (int i = 0; i < cp.length; i++) {
+			list.add(cp[i]);
+		}
+	
+		return list;
+	}
 
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEModuleFacetInstallDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEModuleFacetInstallDataModelProvider.java
index c627181..70fc30f 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEModuleFacetInstallDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eecreation/org/eclipse/jst/j2ee/project/facet/J2EEModuleFacetInstallDataModelProvider.java
@@ -11,6 +11,7 @@
 package org.eclipse.jst.j2ee.project.facet;
 
 import java.util.ArrayList;
+import java.util.List;
 import java.util.Set;
 
 import org.eclipse.core.internal.resources.ResourceStatus;
@@ -18,11 +19,16 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResourceStatus;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
 import org.eclipse.jem.util.logger.proxy.Logger;
 import org.eclipse.jst.common.project.facet.IJavaFacetInstallDataModelProperties;
+import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig;
+import org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig.ChangeEvent;
 import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPreferences;
@@ -41,9 +47,12 @@
 import org.eclipse.wst.common.frameworks.internal.plugin.WTPCommonPlugin;
 import org.eclipse.wst.common.project.facet.core.IFacetedProject;
 import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
 import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
-import org.eclipse.wst.project.facet.ProductManager;
+import org.eclipse.wst.common.project.facet.core.util.IEventListener;
 
 public abstract class J2EEModuleFacetInstallDataModelProvider extends J2EEFacetInstallDataModelProvider implements IJ2EEModuleFacetInstallDataModelProperties {
 
@@ -53,6 +62,26 @@
 	 */
 	public static final String PROHIBIT_ADD_TO_EAR = "J2EEModuleFacetInstallDataModelProvider.PROHIBIT_ADD_TO_EAR"; //$NON-NLS-1$
 
+    protected IFacetedProjectWorkingCopy fpjwc = null;
+    private IFacetedProjectListener fpjwcListener = null;
+    protected JavaFacetInstallConfig javaFacetInstallConfig = null;
+
+    private IEventListener<JavaFacetInstallConfig.ChangeEvent> javaFacetSourceFolderListener 
+        = new IEventListener<JavaFacetInstallConfig.ChangeEvent>()
+    {
+        public void handleEvent( final ChangeEvent event ) 
+        {
+            handleJavaFacetSourceFoldersChanged( event );
+        }
+    };
+
+    protected void handleJavaFacetSourceFoldersChanged( final ChangeEvent event )
+    {
+        final List<IPath> sourceFolders = event.getJavaFacetInstallConfig().getSourceFolders();
+        final String sourceFolder = ( sourceFolders.isEmpty() ? null : sourceFolders.get( 0 ).toPortableString() );
+        getDataModel().setProperty( CONFIG_FOLDER, sourceFolder );
+    }
+	
 	public Set getPropertyNames() {
 		Set names = super.getPropertyNames();
 		names.add(ADD_TO_EAR);
@@ -112,12 +141,9 @@
 				IDataModel javaModel = map.getFacetDataModel(JAVA);
 				if (javaModel != null) {
 					javaModel.setProperty(IJavaFacetInstallDataModelProperties.SOURCE_FOLDER_NAME, propertyValue);
-					// If applicable, react to the change in content folder to update the output folder for single root structures
-					if (ProductManager.shouldUseSingleRootStructure())
-						javaModel.setProperty(IJavaFacetInstallDataModelProperties.DEFAULT_OUTPUT_FOLDER_NAME,propertyValue);
 				}
 			}
-		} else if ((EAR_PROJECT_NAME.equals(propertyName) || ADD_TO_EAR.equals(propertyName)) && getBooleanProperty(ADD_TO_EAR)) {
+		} else if ((EAR_PROJECT_NAME.equals(propertyName) || ADD_TO_EAR.equals(propertyName) || LAST_EAR_NAME.equals(propertyName)) && getBooleanProperty(ADD_TO_EAR)) {
 			IStatus status = validateEAR(model.getStringProperty(EAR_PROJECT_NAME));
 			if (status.isOK()) {
 				IProject project = ProjectUtilities.getProject(getStringProperty(EAR_PROJECT_NAME));
@@ -131,12 +157,24 @@
 				}
 			}
 			model.notifyPropertyChange(FACET_RUNTIME, IDataModel.ENABLE_CHG);
-		} else if (LAST_EAR_NAME.equals(propertyName)) {
-			model.notifyPropertyChange(EAR_PROJECT_NAME, IDataModel.DEFAULT_CHG);
 		} else if (propertyName.equals(IFacetProjectCreationDataModelProperties.FACET_RUNTIME)) {
 			model.notifyPropertyChange(ADD_TO_EAR, IDataModel.VALID_VALUES_CHG);
 			model.notifyPropertyChange(EAR_PROJECT_NAME, IDataModel.VALID_VALUES_CHG);
 		}
+        else if( propertyName.equals( FACETED_PROJECT_WORKING_COPY ) )
+        {
+            this.fpjwc = (IFacetedProjectWorkingCopy) propertyValue;
+
+            this.fpjwcListener = new IFacetedProjectListener()
+            {
+                public void handleEvent( final IFacetedProjectEvent event ) 
+                {
+                    handleProjectFacetsChanged();
+                }
+            };
+            
+            this.fpjwc.addListener( this.fpjwcListener, IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED );
+        }
 
 		if (ADD_TO_EAR.equals(propertyName)) {
 			IStatus stat = model.validateProperty(propertyName);
@@ -148,6 +186,28 @@
 
 		return super.propertySet(propertyName, propertyValue);
 	}
+	
+    private void handleProjectFacetsChanged()
+    {
+        final IFacetedProject.Action javaInstallAction
+            = this.fpjwc.getProjectFacetAction( JavaFacetUtils.JAVA_FACET );
+        
+        if( javaInstallAction != null )
+        {
+            final Object config = javaInstallAction.getConfig();
+            
+            if( config instanceof JavaFacetInstallConfig )
+            {
+                this.javaFacetInstallConfig = (JavaFacetInstallConfig) config;
+            }
+            else
+            {
+                this.javaFacetInstallConfig = (JavaFacetInstallConfig) Platform.getAdapterManager().getAdapter( config, JavaFacetInstallConfig.class );
+            }
+            
+            this.javaFacetInstallConfig.addListener( this.javaFacetSourceFolderListener, JavaFacetInstallConfig.ChangeEvent.Type.SOURCE_FOLDERS_CHANGED );
+        }
+    }
 
 	public boolean isPropertyEnabled(String propertyName) {
 		if (ADD_TO_EAR.equals(propertyName)) {
@@ -258,4 +318,21 @@
 			ret = rt.supports(EARFacetUtils.EAR_FACET);
 		return ret;
 	}
+
+    @Override
+    protected int convertFacetVersionToJ2EEVersion( IProjectFacetVersion version )
+    {
+        // TODO Auto-generated method stub
+        return 0;
+    }
+
+    @Override
+    public void dispose()
+    {
+        if( this.fpjwc != null )
+        {
+            this.fpjwc.removeListener( this.fpjwcListener );
+        }
+    }
+	
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistry.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistry.java
index d079995..ec9f9b9 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistry.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistry.java
@@ -22,6 +22,7 @@
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
@@ -31,6 +32,9 @@
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
 import org.eclipse.wst.server.core.IRuntime;
 
 /**
@@ -45,6 +49,7 @@
 	 */
 	private static DeployerRegistry INSTANCE;
 	private HashMap deployModuleExtensions = new HashMap();
+	private HashMap facetExceptions = new HashMap();
 
 	public DeployerRegistry() {
 		super();
@@ -52,10 +57,11 @@
 
 	/**
 	 * @param deployer
+	 * @param facetExclusions 
 	 * @param serverTarget
 	 * @param natureID
 	 */
-	public void register(IConfigurationElement deployer, List serverTargets, List natures) {
+	public void register(IConfigurationElement deployer, List serverTargets, List natures, List facetExclusions) {
 		HashMap targetDeployers;
 		for (Iterator iter = natures.iterator(); iter.hasNext();) {
 			String natureID = (String) iter.next();
@@ -65,6 +71,22 @@
 				getTargetDeployers(targetDeployers, runtimeID).add(deployer);
 			}
 		}
+		//Now register exclusions if any
+		List facets = getFacetExceptions(deployer);
+		for (Iterator iterator = facetExclusions.iterator(); iterator.hasNext();) {
+			String facetID = (String) iterator.next();
+			if (!facets.contains(facetID))
+				facets.add(facetID);
+		}	
+	}
+	
+	/**
+	 * @param deployer
+	 * @param serverTarget
+	 * @param natureID
+	 */
+	public void register(IConfigurationElement deployer, List serverTargets, List natures) {
+		register(deployer, serverTargets, natures, new ArrayList());
 	}
 
 	private List getDeployers(String natureID, String serverTarget) {
@@ -187,8 +209,51 @@
 			typeID = J2EEProjectUtilities.JCA;
 		else if (J2EEProjectUtilities.isUtilityProject(project))
 			typeID = J2EEProjectUtilities.UTILITY;
-		String runtimeID = runtime.getRuntimeType().getId();
-		return getDeployers(typeID, runtimeID);
+		
+		String runtimeID = null;
+		if (runtime == null)
+			runtimeID = "None";
+		else
+			runtimeID = runtime.getRuntimeType().getId();
+		List deployers = getDeployers(typeID, runtimeID);
+		return getFilteredDeployers(project,deployers); 
+	}
+
+	private List getFilteredDeployers(IProject project, List deployers) {
+		IFacetedProject fProj = null;
+		try {
+			fProj = ProjectFacetsManager.create(project);
+		} catch (CoreException e) {
+			org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e);
+		}
+		if (fProj == null) return deployers;
+		List filteredDeployers = new ArrayList();
+		for (Iterator iterator = deployers.iterator(); iterator.hasNext();) {
+			boolean excludeDeployer = false;
+			IConfigurationElement deployer = (IConfigurationElement) iterator.next();
+			List exclusions = getFacetExceptions(deployer);
+			if (exclusions.isEmpty())
+				filteredDeployers.add(deployer);
+			else {
+				for (Iterator iterator2 = exclusions.iterator(); iterator2.hasNext();) {
+					String exclusion = (String) iterator2.next();
+					IProjectFacet facet = ProjectFacetsManager.getProjectFacet(exclusion);
+					if (facet != null && fProj.hasProjectFacet(facet)) {
+						excludeDeployer = true;
+					}
+				}
+				if (!excludeDeployer)
+					filteredDeployers.add(deployer);
+			}
+			
+		}
+		return filteredDeployers;
+	}
+
+	private List getFacetExceptions(IConfigurationElement deployer) {
+		if (facetExceptions.get(deployer) == null)
+			facetExceptions.put(deployer, new ArrayList());
+		return (List)facetExceptions.get(deployer);
 	}
 
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistryReader.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistryReader.java
index c384cfc..0fd1a13 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistryReader.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/DeployerRegistryReader.java
@@ -44,6 +44,8 @@
 	static final String NATURE = "nature"; //$NON-NLS-1$
 	static final String COMPONENT_TYPE_ID = "component_type"; //$NON-NLS-1$
 	static final String COMPONENT = "component"; //$NON-NLS-1$
+	static final String FACET_EXCLUSIONS = "facetExclusions"; //$NON-NLS-1$
+	static final String FACET_ID = "facet_id"; //$NON-NLS-1$
 
 	public DeployerRegistryReader() {
 		super(J2EEPlugin.PLUGIN_ID, J2EE_DEPLOYER_EXTENSION_POINT);
@@ -59,6 +61,7 @@
 			return false;
 		List runtimeList = new ArrayList();
 		List natureandcomponents = new ArrayList();
+		List facetExclusions = new ArrayList();
 		IConfigurationElement[] runtimes = element.getChildren(RUNTIME);
 		for (int i = 0; i < runtimes.length; i++) {
 			IConfigurationElement runtime = runtimes[i];
@@ -77,10 +80,16 @@
 			String compType = component.getAttribute(COMPONENT_TYPE_ID);
 			natureandcomponents.add(compType);
 		}
+		IConfigurationElement[] exclusions = element.getChildren(FACET_EXCLUSIONS);
+		for (int i = 0; i < exclusions.length; i++) {
+			IConfigurationElement exclusion = exclusions[i];
+			String compType = exclusion.getAttribute(FACET_ID);
+			facetExclusions.add(compType);
+		}
 
 		String deployer = element.getAttribute(DEPLOYER_CLASS);
 		if (deployer != null) {
-			DeployerRegistry.instance().register(element, runtimeList, natureandcomponents);
+			DeployerRegistry.instance().register(element, runtimeList, natureandcomponents,facetExclusions);
 			return true;
 		}
 		return false;
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/J2EEDeployOperation.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/J2EEDeployOperation.java
index bbfae2d..3d3289f 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/J2EEDeployOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deploy/J2EEDeployOperation.java
@@ -188,7 +188,7 @@
 	 */
 	private void addOKStatus(String DeployerName) {
 
-		IStatus statusLocal = new Status(IStatus.OK, " ", IStatus.OK, (J2EEPluginResourceHandler.getString("J2EEDeployOperation_2_UI_", new Object[]{DeployerName})), null); //$NON-NLS-1$ //$NON-NLS-2$		
+		IStatus statusLocal = new Status(IStatus.OK, " ", IStatus.OK, (J2EEPluginResourceHandler.getString(J2EEPluginResourceHandler.J2EEDeployOperation_2_UI_, new Object[]{DeployerName})), null); //$NON-NLS-1$		
 		//TODO
 		getMultiStatus().add(statusLocal);
 
@@ -202,22 +202,21 @@
 	private void addErrorStatus(IStatus exceptionStatus, String DeployerName, Throwable ex) {
 
 		Throwable mainCause = null;
+		int severity = exceptionStatus.getSeverity();
 		if (exceptionStatus instanceof MultiStatus) {
 			IStatus[] stati = ((MultiStatus) exceptionStatus).getChildren();
-			for (int i = 0; 1 < stati.length; i++) {
+			for (int i = 0; i < stati.length; i++) {
 				addErrorStatus(stati[i], DeployerName, stati[i].getException());
 			}
 		}
-		mainCause = (ex.getCause() != null) ? ex.getCause() : ex;
-			
+		mainCause = (ex != null && ex.getCause() != null) ? ex.getCause() : ex;
+
 		//String errorNotes = (mainCause != null && mainCause.getMessage() != null) ? mainCause.getMessage() : "";
 
 		String message = J2EEPluginResourceHandler.bind(J2EEPluginResourceHandler.J2EEDeployOperation_3_UI_,DeployerName, ""); //$NON-NLS-1$
-		IStatus statusLocal = new Status(IStatus.ERROR, J2EEPlugin.getPlugin().getPluginID(), IStatus.ERROR, message, mainCause); //$NON-NLS-1$
+		IStatus statusLocal = new Status(severity, J2EEPlugin.getPlugin().getPluginID(), severity, message, mainCause); //$NON-NLS-1$
 		getMultiStatus().add(statusLocal);
 
-
-
 	}
 
 	private IStatus getMainStatus(IProject proj) {
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java
index b64ccea..4aaad9d 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEDeployableFactory.java
@@ -12,35 +12,34 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.jst.j2ee.internal.common.J2EEVersionUtil;
 import org.eclipse.jst.j2ee.internal.componentcore.JavaEEBinaryComponentHelper;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
 import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
 import org.eclipse.wst.common.componentcore.ComponentCore;
 import org.eclipse.wst.common.componentcore.ModuleCoreNature;
 import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
 import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
 import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.model.ModuleDelegate;
 import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
-import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 
 /**
  * J2EE module factory.
  */
 public class J2EEDeployableFactory extends ProjectModuleFactoryDelegate {
-	protected Map moduleDelegates = new HashMap(5);
+	protected Map <IModule, ModuleDelegate> moduleDelegates = new HashMap<IModule, ModuleDelegate>(5);
 
 	public static final String ID = "org.eclipse.jst.j2ee.server"; //$NON-NLS-1$
 
@@ -49,34 +48,45 @@
 	}
 
 	protected IModule[] createModules(IProject project) {
-		try {
-			if (project.exists()) {
-				ModuleCoreNature nature = (ModuleCoreNature) project.getNature(IModuleConstants.MODULE_NATURE_ID);
-				if (nature != null)
-					return createModules(nature);
-			}
-		} catch (CoreException e) {
-			J2EEPlugin.logError(e);
+		IVirtualComponent component = ComponentCore.createComponent(project);
+		if(component != null){
+			return createModuleDelegates(component);
 		}
 		return null;
 	}
 
+	/**
+	 * Use {@link #createModule(IProject)} instead.
+	 * @deprecated
+	 * @param nature
+	 * @return
+	 */
 	protected IModule[] createModules(ModuleCoreNature nature) {
-		IProject project = nature.getProject();
-		try {
-			IVirtualComponent comp = ComponentCore.createComponent(project);
-			return createModuleDelegates(comp);
-		} catch (Exception e) {
-			J2EEPlugin.logError(e);
+		if(nature != null){
+			return createModules(nature.getProject());
 		}
 		return null;
 	}
 
 	public ModuleDelegate getModuleDelegate(IModule module) {
-		return (ModuleDelegate) moduleDelegates.get(module);
+		if (module == null)
+			return null;
+
+		ModuleDelegate md = (ModuleDelegate) moduleDelegates.get(module);
+
+		if (md == null) {
+			createModules(module.getProject());
+			md = (ModuleDelegate) moduleDelegates.get(module);
+		}
+
+		return md;
 	}
 
 	protected IModule[] createModuleDelegates(IVirtualComponent component) {
+		if(component == null){
+			return null;
+		}
+		
 		List<IModule> projectModules = new ArrayList<IModule>();
 		try {
 			if (J2EEProjectUtilities.isLegacyJ2EEProject(component.getProject())) {
@@ -172,7 +182,22 @@
 		};
 	}
 
-	protected void clearCache() {
-		moduleDelegates = new HashMap(5);
+	protected void clearCache(IProject project) {
+		super.clearCache(project);
+		List<IModule> modulesToRemove = null;
+		for (Iterator<IModule> iterator = moduleDelegates.keySet().iterator(); iterator.hasNext();) {
+			IModule module = iterator.next();
+			if (module.getProject().equals(project)) {
+				if (modulesToRemove == null) {
+					modulesToRemove = new ArrayList<IModule>();
+				}
+				modulesToRemove.add(module);
+			}
+		}
+		if (modulesToRemove != null) {
+			for (IModule module : modulesToRemove) {
+				moduleDelegates.remove(module);
+			}
+		}
 	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java
index e400d05..8ed0641 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java
@@ -11,23 +11,19 @@
 package org.eclipse.jst.j2ee.internal.deployables;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
 import java.util.Set;
 
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
@@ -51,7 +47,7 @@
 import org.eclipse.jst.j2ee.internal.plugin.IJ2EEModuleConstants;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
+import org.eclipse.jst.j2ee.project.SingleRootUtil;
 import org.eclipse.jst.jee.util.internal.JavaEEQuickPeek;
 import org.eclipse.jst.server.core.IApplicationClientModule;
 import org.eclipse.jst.server.core.IConnectorModule;
@@ -61,10 +57,6 @@
 import org.eclipse.jst.server.core.IWebModule;
 import org.eclipse.wst.common.componentcore.ArtifactEdit;
 import org.eclipse.wst.common.componentcore.ComponentCore;
-import org.eclipse.wst.common.componentcore.internal.ComponentResource;
-import org.eclipse.wst.common.componentcore.internal.Property;
-import org.eclipse.wst.common.componentcore.internal.StructureEdit;
-import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
 import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
 import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
 import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
@@ -86,13 +78,13 @@
 	protected static final IPath WEB_CLASSES_PATH = new Path(J2EEConstants.WEB_INF_CLASSES);
 	protected static final IPath MANIFEST_PATH = new Path(J2EEConstants.MANIFEST_URI);
 	protected static IPath WEBLIB = new Path(J2EEConstants.WEB_INF_LIB).makeAbsolute();
-	private static String USE_SINGLE_ROOT_PROPERTY = "useSingleRoot"; //$NON-NLS-1$
 	protected IPackageFragmentRoot[] cachedSourceContainers;
 	protected IContainer[] cachedOutputContainers;
 	protected HashMap cachedOutputMappings;
 	protected HashMap cachedSourceOutputPairs;
 	protected List classpathComponentDependencyURIs = new ArrayList();
 	private boolean isSingleJavaOutputNonSource = false;
+	private SingleRootUtil singleUtil;
 
 	/**
 	 * Constructor for J2EEFlexProjDeployable.
@@ -177,9 +169,10 @@
 			mf = new ModuleFile(utilFile, utilFile.getName(), ((J2EEModuleVirtualArchiveComponent)component).getRuntimePath().makeRelative());
 		} else {
 			File extFile = ((J2EEModuleVirtualArchiveComponent)component).getUnderlyingDiskFile();
-			mf = new ModuleFile(extFile, extFile.getName(), ((J2EEModuleVirtualArchiveComponent)component).getRuntimePath().makeRelative());
+			if( extFile != null )
+				mf = new ModuleFile(extFile, extFile.getName(), ((J2EEModuleVirtualArchiveComponent)component).getRuntimePath().makeRelative());
 		}
-		return new IModuleResource[] {mf};
+		return mf == null ? new IModuleResource[]{} : new IModuleResource[] {mf};
 	}
 	
 	public IModuleResource[] members() throws CoreException {
@@ -305,7 +298,7 @@
 			}
 			// create temp MANIFEST.MF using util method
 			try {
-				ClasspathDependencyManifestUtil.updateManifestClasspath(file, classpathComponentDependencyURIs, new FileOutputStream(fsFile));
+				ClasspathDependencyManifestUtil.updateManifestClasspath(file, classpathComponentDependencyURIs, fsFile);
 				// create new ModuleFile that points to temp MANIFEST.MF
 				return new ModuleFile(fsFile, file.getName(), path);
 			} catch (IOException ioe) {
@@ -485,9 +478,24 @@
     }
     
     private String getContainedURI(IModule module) {
-    	if (component instanceof J2EEModuleVirtualArchiveComponent || isBinaryModuleArchive(module))
+    	if( isBinaryModuleArchive(module)) {
+    		J2EEFlexProjDeployable moduleDelegate = (J2EEFlexProjDeployable)module.loadAdapter(J2EEFlexProjDeployable.class, null);
+    		if( moduleDelegate != null && moduleDelegate.component != null
+    				&& moduleDelegate.component instanceof J2EEModuleVirtualArchiveComponent) {
+    			J2EEModuleVirtualArchiveComponent moduleVirtualArchiveComponent = (J2EEModuleVirtualArchiveComponent)moduleDelegate.component;
+    			IPath moduleDeployPath = moduleVirtualArchiveComponent.getDeploymentPath();
+    			String moduleName = new Path(moduleVirtualArchiveComponent.getName()).lastSegment();
+    			if (moduleName.equals(moduleDeployPath.lastSegment())){
+    				return moduleDeployPath.toString();
+    			}
+    			return moduleDeployPath.append(moduleName).toString();
+    		}
+    	}
+
+    	if (component instanceof J2EEModuleVirtualArchiveComponent || isBinaryModuleArchive(module)) {
     		return new Path(module.getName()).lastSegment();
-    	
+    	}
+
     	IVirtualComponent comp = ComponentCore.createComponent(module.getProject());
     	String aURI = null;
     	if (comp!=null && component!=null && J2EEProjectUtilities.isEARProject(component.getProject())) {
@@ -736,7 +744,11 @@
 						if (cpRefRuntimePath.equals(IClasspathDependencyConstants.RUNTIME_MAPPING_INTO_CONTAINER_PATH)) {
 							// runtime path within deployed app will be runtime path of parent component
 							cpRefRuntimePath = runtimePath;
-						} 						
+						} else {
+							//https://bugs.eclipse.org/bugs/show_bug.cgi?id=247090
+							//if path isn't ../, it shouldn't be added here
+							continue;
+						}
 						final IPath absolutePath = ClasspathDependencyUtil.getClasspathVirtualReferenceLocation(cpRef);
 						if (absolutePaths.contains(absolutePath)) {
 							// have already added a member for this archive
@@ -809,62 +821,9 @@
 		}
 	}
 	
-    /*
-     * If the resource to check is a file then this method will return true if the file is linked. If the resource to
-     * check is a folder then this method will return true if it, any of its sub directories, or any file contained
-     * with-in this directory of any of it's sub directories are linked. Otherwise false is returned.
-     */
-    private boolean hasLinkedContent(final IResource resourceToCheck) throws CoreException {
+   
 
-    	if ((resourceToCheck != null) && resourceToCheck.isAccessible()) {
-    		// skip non-accessible files
-    		if (resourceToCheck.isLinked()) {
-    			return true;
-    		}
-    		else {
-    			switch (resourceToCheck.getType()) {
-    				case IResource.FOLDER:
-    					// recursively check sub directory contents
-    					final IResource[] subDirContents = ((IFolder) resourceToCheck).members();
-    					for (int i = 0; i < subDirContents.length; i++) {
-    						if (hasLinkedContent(subDirContents[i])) {
-    							return true;
-    						}
-    					}
-    					break;
-    				case IResource.FILE:
-    					return resourceToCheck.isLinked();
-    				default:
-    					// skip as we only care about files and folders
-    					break;
-    			}
-    		}
-    	}
-    	return false;
-    }
-
-    /*
-     * This method returns true if the root folders of this component have any linked resources (folder or file);
-     * Otherwise false is returned.
-     */
-    private boolean rootFoldersHaveLinkedContent() {
-
-    	if (this.component != null) {
-    		final IContainer[] rootFolders = this.component.getRootFolder().getUnderlyingFolders();
-    		for (int i = 0; i < rootFolders.length; i++) {
-    			try {
-    				boolean hasLinkedContent = this.hasLinkedContent(rootFolders[i]);
-    				if (hasLinkedContent) {
-    					return true;
-    				}
-    			}
-    			catch (CoreException coreEx) {
-    				J2EEPlugin.logError(coreEx);
-    			}
-    		}
-    	}
-    	return false;
-    }
+   
 	
 	/**
 	 * Returns <code>true</code> if this module has a simple structure based on a
@@ -883,191 +842,19 @@
 	 *    <code>false</code> otherwise
 	 */
 	public boolean isSingleRootStructure() {
-		isSingleJavaOutputNonSource = false;
-		StructureEdit edit = null;
-		try {
-			edit = StructureEdit.getStructureEditForRead(getProject());
-			if (edit == null || edit.getComponent() == null)
-				return false;
-			WorkbenchComponent wbComp = edit.getComponent();
-			List resourceMaps = wbComp.getResources();
-			
-			// 229650 - check to see if the property 'useSingleRoot' is defined. If it is set and
-			// the value of the property is true then it will override the logic checks below
-			final List componentProperties = wbComp.getProperties();
-			if (componentProperties != null) {
-				final Iterator componentPropertiesIterator = componentProperties.iterator();
-				while (componentPropertiesIterator.hasNext()) {
-					Property wbProperty = (Property) componentPropertiesIterator.next();
-					if (J2EEFlexProjDeployable.USE_SINGLE_ROOT_PROPERTY.equals(wbProperty.getName())) {
-						boolean useSingleRoot = Boolean.valueOf(wbProperty.getValue()).booleanValue();
-						if (useSingleRoot) {
-							return true;
-						}
-					}
-				}
-			}
-			
-			if (J2EEProjectUtilities.isEARProject(getProject())) {
-				// Always return false for EARs so that members for EAR are always calculated and j2ee modules
-				// are filtered out
-				return false;
-			} else if (J2EEProjectUtilities.isDynamicWebProject(getProject())) {
-				// if there are any linked resources then this is not a singleroot module
-				if (this.rootFoldersHaveLinkedContent()) {
-					return false;
-				}
-				// Ensure there are only basic component resource mappings -- one for the content folder 
-				// and any for src folders mapped to WEB-INF/classes
-				if (hasDefaultWebResourceMappings(resourceMaps)) {
-					// Verify only one java output folder
-					if (getJavaOutputFolders().length==1) {
-						// Verify the java output folder is to <content root>/WEB-INF/classes
-						IPath javaOutputPath = getJavaOutputFolders()[0].getProjectRelativePath();
-						IPath compRootPath = component.getRootFolder().getUnderlyingFolder().getProjectRelativePath();
-						if (compRootPath.append(J2EEConstants.WEB_INF_CLASSES).equals(javaOutputPath)) 
-							return true;
-					}
-				}
-				return false;
-			} else if (JavaEEProjectUtilities.isEJBProject(getProject()) || JavaEEProjectUtilities.isJCAProject(getProject())
-					|| JavaEEProjectUtilities.isApplicationClientProject(getProject()) || JavaEEProjectUtilities.isUtilityProject(getProject())) {
-				// if there are any linked resources then this is not a singleroot module
-				if (this.rootFoldersHaveLinkedContent()) {
-					return false;
-				}
-				// Ensure there are only source folder component resource mappings to the root content folder
-				if (isRootResourceMapping(resourceMaps,false)) {
-					IContainer[] javaOutputFolders = getJavaOutputFolders();
-					// Verify only one java outputfolder
-					if (javaOutputFolders.length==1) {
-						// By the time we get here we know: for any folders defined as source in the 
-						// .component file that they are also java source folders.
-						if (JavaEEProjectUtilities.isUtilityProject(getProject()) || 
-								JavaEEProjectUtilities.isEJBProject(getProject()) || 
-								JavaEEProjectUtilities.isApplicationClientProject(getProject())) {
-							if (! isSourceContainer(javaOutputFolders[0].getFullPath())) {
-								// The single output folder is NOT a source folder so this is single-rooted. Since the
-								// output folder (something like classes or bin) is not a source folder, JDT copies all files
-								// (including non Java files) to this folder, so every resource needed at runtime is located 
-								// in a single directory.
-								isSingleJavaOutputNonSource = true;
-								return true;
-							} else {
-// Don't implement at this time. Currently, we claim single-rooted when ejbModlule is the output folder.  However,
-// we know this is not true because it cannot contain non Java files unless it is the only source folder. But, fixing
-// at this time would break all current users.
-//								// The single output folder IS a source folder. If there is more than one source folder
-//								// then this cannot be single-rooted because JDT does NOTcopy non Java resources into the
-//								// output folder when it is a source folder.
-//								if (getSourceContainers().length > 1) {
-//									return false;
-//								} else {
-//									// There is only one source folder and since the output folder is a source folder
-//									// this is single-rooted.
-//									return true;
-//								}
-							}
-						}
-//						// At this point for utility projects, this project is optimized, we can just use the output folder
-//						if (J2EEProjectUtilities.isUtilityProject(getProject()))
-//							return true;
-						// Verify the java output folder is the same as one of the content roots
-						IPath javaOutputPath = getJavaOutputFolders()[0].getProjectRelativePath();
-						IContainer[] rootFolders = component.getRootFolder().getUnderlyingFolders();
-						for (int i=0; i<rootFolders.length; i++) {
-							IPath compRootPath = rootFolders[i].getProjectRelativePath();
-							if (javaOutputPath.equals(compRootPath))
-								return true;
-						}
-					}
-				}
-				return false;
-			}
-			return true;
-		} finally {
-			if (edit !=null)
-				edit.dispose();
-		}
+		boolean isSingleRoot = getSingleUtil().isSingleRoot();
+		isSingleJavaOutputNonSource = getSingleUtil().isSingleJavaOutputNonSource();
+		return isSingleRoot;
 	}
 	
-	/**
-	 * Ensure that any component resource mappings are for source folders and 
-	 * that they map to the root content folder
-	 * 
-	 * @param resourceMaps
-	 * @return boolean
-	 */
-	private boolean isRootResourceMapping(List resourceMaps, boolean isForEAR) {
-		// If the list is empty, return false
-		if (resourceMaps.size()<1)
-			return false;
-		
-		for (int i=0; i<resourceMaps.size(); i++) {
-			ComponentResource resourceMap = (ComponentResource) resourceMaps.get(i);
-			// Verify it maps to "/" for the content root
-			if (!resourceMap.getRuntimePath().equals(Path.ROOT))
-				return false;
-			// If this is not for an EAR, verify it is also a src container
-			if (!isForEAR) {
-				IPath sourcePath = getProject().getFullPath().append(resourceMap.getSourcePath());
-				if (!isSourceContainer(sourcePath))
-					return false;
-			}
+	private SingleRootUtil getSingleUtil() {
+		if (singleUtil == null) {
+			singleUtil = new SingleRootUtil(component);
 		}
-		return true;
+		return singleUtil;
 	}
-	
-	/**
-	 * Checks if the path argument is to a source container for the project.
-	 * 
-	 * @param a workspace relative full path
-	 * @return is path a source container?
-	 */
-	private boolean isSourceContainer(IPath path) {
-		IPackageFragmentRoot[] srcContainers = getSourceContainers();
-		for (int i=0; i<srcContainers.length; i++) {
-			if (srcContainers[i].getPath().equals(path))
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Ensure the default web setup is correct with one resource map and any number of java 
-	 * resource maps to WEB-INF/classes
-	 * 
-	 * @param resourceMaps
-	 * @return boolean
-	 */
-	private boolean hasDefaultWebResourceMappings(List resourceMaps) {
-		int rootValidMaps = 0;
-		int javaValidRoots = 0;
-		
-		// If there aren't at least 2 maps, return false
-		if (resourceMaps.size()<2)
-			return false;
-		
-		IPath webInfClasses = new Path(J2EEConstants.WEB_INF_CLASSES).makeAbsolute();
-		for (int i=0; i<resourceMaps.size(); i++) {
-			ComponentResource resourceMap = (ComponentResource) resourceMaps.get(i);
-			IPath sourcePath = getProject().getFullPath().append(resourceMap.getSourcePath());
-			
-			// Verify if the map is for the content root
-			if (resourceMap.getRuntimePath().equals(Path.ROOT)) {
-				rootValidMaps++;
-			// Verify if the map is for a java src folder and is mapped to "WEB-INF/classes"
-			} else if (resourceMap.getRuntimePath().equals(webInfClasses) && isSourceContainer(sourcePath)) {
-				javaValidRoots++;
-			// Otherwise we bail because we have a non optimized map
-			} else {
-				return false;
-			}
-		}
-		// Make sure only one of the maps is the content root, and that at least one is for the java folder
-		return rootValidMaps==1 && javaValidRoots>0;
-	}
-	
+
+
 	/**
 	 * This method is added for performance reasons. It can ONLY be called when the project is single root.
 	 * @see isSingleRootStructure().  If the project has an output folder that is also a source folder then,
@@ -1080,7 +867,7 @@
 	 */
 	private IModuleResource[] getOptimizedMembers() throws CoreException {
 		if (component != null) {
-			if (isSingleJavaOutputNonSource) {
+			if (isSingleJavaOutputNonSource ) {
 				// We determined when testing for a single root structure that this project has
 				// one output folder and that output folder is not a source folder. Since the
 				// output folder (for example, classes or bin) is not a source folder, JDT copies all files
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPlugin.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPlugin.java
index c2cc8da..ff76f62 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPlugin.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPlugin.java
@@ -61,6 +61,7 @@
 import org.eclipse.jst.j2ee.common.internal.impl.J2EEResourceFactoryRegistry;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveInit;
 import org.eclipse.jst.j2ee.core.internal.plugin.CatalogJ2EEXmlDtDEntityResolver;
+import org.eclipse.jst.j2ee.internal.common.CleanBuildCacheCleanerListener;
 import org.eclipse.jst.j2ee.internal.common.J2EEDependencyListener;
 import org.eclipse.jst.j2ee.internal.common.VirtualArchiveComponentAdapterFactory;
 import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
@@ -82,6 +83,7 @@
 import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
+import java.lang.Throwable;
 
 /**
  * This is a top-level class of the j2ee plugin.
@@ -100,6 +102,9 @@
 	public static final String LIBCOPY_BUILDER_ID = PLUGIN_ID + ".LibCopyBuilder"; //$NON-NLS-1$
 	// Validation part of the plugin
 	public static final String VALIDATION_BUILDER_ID = ValidationPlugin.VALIDATION_BUILDER_ID; // plugin
+	
+	public static final String DYNAMIC_TRANSLATION_OF_JET_TEMPLATES_PREF_KEY = "dynamicTranslationOfJetTemplates"; //$NON-NLS-1$
+	
 //	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
 //	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$	
 	// id
@@ -515,7 +520,7 @@
 		final ProjectRefactoringListener listener = new ProjectRefactoringListener();//ProjectDependencyCache.getCache());
 		// register the project rename/delete refactoring listener
 		ResourcesPlugin.getWorkspace().addResourceChangeListener(listener,
-				IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE);
+				IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE );
 		
 		// register the IElementChangedLister that updates the .component file in 
 		// response to .classpath changes
@@ -523,6 +528,7 @@
 		
 		ResourcesPlugin.getWorkspace().addResourceChangeListener(J2EEComponentClasspathUpdater.getInstance(), IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
 		ResourcesPlugin.getWorkspace().addResourceChangeListener(J2EEDependencyListener.INSTANCE, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE);
+		ResourcesPlugin.getWorkspace().addResourceChangeListener(CleanBuildCacheCleanerListener.INSTANCE, IResourceChangeEvent.PRE_BUILD);
 	}
 	
 	public void stop(BundleContext context) throws Exception {
@@ -687,6 +693,10 @@
 
 	public static void logError(CoreException exception) {
 		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( exception.getStatus() );
+	}
+
+	public static void logError(String message) {
+		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( createStatus(IStatus.ERROR, message));
 	} 
 
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPreferences.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPreferences.java
index 073718e..fcc2fdb 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPreferences.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/plugin/J2EEPreferences.java
@@ -16,10 +16,12 @@
  */
 package org.eclipse.jst.j2ee.internal.plugin;
 
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.core.runtime.Preferences;
 import org.eclipse.jst.common.frameworks.CommonFrameworksPlugin;
 import org.eclipse.jst.common.project.facet.core.internal.FacetCorePlugin;
+import org.eclipse.jst.j2ee.internal.J2EEConstants;
 import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
 import org.eclipse.wst.project.facet.IProductConstants;
 import org.eclipse.wst.project.facet.ProductManager;
@@ -50,7 +52,8 @@
 		final static String USE_EAR_LIBRARIES = "org.eclipse.jst.j2ee.preferences.useEARLibraries";//$NON-NLS-1$
 		final static String USE_WEB_APP_LIBRARIES = "org.eclipse.jst.j2ee.preferences.useWebAppLibraries";//$NON-NLS-1$
 		final static String USE_EAR_LIBRARIES_JDT_EXPORT = "org.eclipse.jst.j2ee.preferences.useEARLibrariesJDTExport";//$NON-NLS-1$
-		
+		final static String ALLOW_CLASSPATH_DEP = "org.eclipse.jst.j2ee.preferences.allowClasspathDep";//$NON-NLS-1$
+
 		/**
 		 * @deprecated, 
 		 * but should it be deprecated ? is j2ee_web_content a better name than web_content_folder ?
@@ -107,6 +110,35 @@
 		 * @since 3.0
 		 */
 		static String ID_PERSPECTIVE_HIERARCHY_VIEW = "perspective_hierarchy_view_id"; //$NON-NLS-1$
+		/**
+		 * @since 3.1
+		 */
+		static String SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE = "showJavaEEModuleDependencyPage"; //$NON-NLS-1$
+		
+		
+		/**
+		 * 
+		 */
+		static final String DYN_WEB_SRC_FOLDER = "dynWebSource"; //$NON-NLS-1$
+		/**
+		 * 
+		 */
+		
+		static final String DYN_WEB_OUTPUT_FOLDER = IProductConstants.DYN_WEB_OUTPUT_FOLDER;
+		/**
+		 * 
+		 */
+		static final String EJB_OUTPUT_FOLDER = IProductConstants.EJB_OUTPUT_FOLDER;
+		
+		/**
+		 * 
+		 */
+	    static final String APP_CLIENT_OUTPUT_FOLDER = IProductConstants.APP_CLIENT_OUTPUT_FOLDER;
+	    
+		/**
+		 * 
+		 */
+	    static final String JCA_OUTPUT_FOLDER = IProductConstants.JCA_OUTPUT_FOLDER; 		
 
 	}
 
@@ -150,6 +182,8 @@
 		final static boolean INCREMENTAL_DEPLOYMENT_SUPPORT = true;
 		final static boolean USE_EAR_LIBRARIES_JDT_EXPORT = false;
 		final static String ID_PERSPECTIVE_HIERARCHY_VIEW = "org.eclipse.ui.navigator.ProjectExplorer"; //$NON-NLS-1$
+		final static boolean ALLOW_CLASSPATH_DEP = true;
+		final static boolean SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE = true;
 	}
 
 	private Plugin owner = null;
@@ -195,6 +229,16 @@
 		getPreferences().setDefault(Keys.USE_EAR_LIBRARIES_JDT_EXPORT, Defaults.USE_EAR_LIBRARIES_JDT_EXPORT);
 		String perspectiveID = ProductManager.getProperty(IProductConstants.ID_PERSPECTIVE_HIERARCHY_VIEW);
 		getPreferences().setDefault(Keys.ID_PERSPECTIVE_HIERARCHY_VIEW, (perspectiveID != null) ? perspectiveID : Defaults.ID_PERSPECTIVE_HIERARCHY_VIEW);
+		getPreferences().setDefault(Keys.ALLOW_CLASSPATH_DEP, Defaults.ALLOW_CLASSPATH_DEP);
+		String showJavaEEModuleDependencyPage = ProductManager.getProperty(IProductConstants.SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE);
+		boolean showJavaEEModuleDependencyPageDefault = (showJavaEEModuleDependencyPage != null) ? Boolean.parseBoolean(showJavaEEModuleDependencyPage) : Defaults.SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE;
+		getPreferences().setDefault(Keys.SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE, showJavaEEModuleDependencyPageDefault);
+		
+		getPreferences().setDefault(Keys.DYN_WEB_SRC_FOLDER, getDynamicWebDefaultSourceFolder());
+		getPreferences().setDefault(Keys.DYN_WEB_OUTPUT_FOLDER, getDynamicWebDefaultOuputFolderName());
+		getPreferences().setDefault(Keys.APP_CLIENT_OUTPUT_FOLDER,  getAppClientDefaultOutputFolderName() );
+		getPreferences().setDefault(Keys.EJB_OUTPUT_FOLDER, getEJBDefaultOutputFolderName() );
+		getPreferences().setDefault(Keys.JCA_OUTPUT_FOLDER, getJCADefaultOutputFolderName() );		
 	}
 
 	
@@ -233,7 +277,15 @@
 		getPreferences().setValue(Keys.USE_WEB_APP_LIBRARIES, value);
 		firePreferenceChanged();
 	}
-			
+	
+	public boolean getAllowClasspathDep() {
+		return getPreferences().getBoolean(Keys.ALLOW_CLASSPATH_DEP);
+	}
+	
+	public void setAllowClasspathDep(boolean value) {
+		getPreferences().setValue(Keys.ALLOW_CLASSPATH_DEP, value);
+		firePreferenceChanged();
+	}
 	
 	public String getJ2EEWebContentFolderName() {
 		//return getPreferences().getString(Keys.J2EE_WEB_CONTENT);
@@ -435,4 +487,92 @@
 		firePreferenceChanged();
 	}
 
+		
+		
+	public String getDynamicWebDefaultSourceFolder(){
+		return getDefaultJavaSrcFolder();
+	}
+	
+	public String getDynamicWebDefaultOuputFolderName(){
+		if ( ProductManager.shouldUseSingleRootStructure() ){
+			return ProductManager.getProperty(IProductConstants.WEB_CONTENT_FOLDER) + "/"+ J2EEConstants.WEB_INF_CLASSES; //$NON-NLS-1$
+		}
+		return getDefaultOutputFolderName();
+	}
+	
+	public String getAppClientDefaultOutputFolderName(){
+		if (ProductManager.shouldUseSingleRootStructure())
+			return getString(J2EEPreferences.Keys.APP_CLIENT_CONTENT_FOLDER);
+		return getDefaultOutputFolderName();
+	}
+	
+	public String getEJBDefaultOutputFolderName(){
+		if (ProductManager.shouldUseSingleRootStructure())
+			return getString(J2EEPreferences.Keys.EJB_CONTENT_FOLDER);
+		return getDefaultOutputFolderName();
+	}
+	
+	public String getJCADefaultOutputFolderName(){
+		if (ProductManager.shouldUseSingleRootStructure())
+			return getString(J2EEPreferences.Keys.JCA_CONTENT_FOLDER);
+		return getDefaultOutputFolderName();
+	}
+	
+	
+	/**
+	 * Default if undefined is "build/classes"
+	 * @see org.eclipse.jst.common.project.facet.core.JavaFacetInstallConfig#DEFAULT_OUTPUT_FOLDER
+	 * @return
+	 */
+	public String getDefaultOutputFolderName() {
+
+		if (ProductManager.shouldUseSingleRootStructure())
+			return getDefaultJavaSrcFolder();
+
+		String outputFolder = getProductProperty("defaultJavaOutputFolder"); //$NON-NLS-1$
+
+		if (outputFolder == null) {
+			outputFolder = getProductProperty("outputFolder"); //$NON-NLS-1$
+		}
+
+		if (outputFolder == null) {
+			outputFolder = "build/classes"; //$NON-NLS-1$
+		}
+		return outputFolder;
+	}
+	    
+	public String getDefaultJavaSrcFolder(){
+		String srcFolder = FacetCorePlugin.getDefault().getPluginPreferences().getDefaultString(FacetCorePlugin.PROD_PROP_SOURCE_FOLDER_LEGACY);
+		if( srcFolder == null || srcFolder.equals("") ){ //$NON-NLS-1$
+			if( Platform.getProduct() != null ){
+				srcFolder = Platform.getProduct().getProperty( "defaultJavaSourceFolder" ); //$NON-NLS-1$
+			    if( srcFolder == null || srcFolder.equals("")){ //$NON-NLS-1$
+			    	srcFolder = Platform.getProduct().getProperty( FacetCorePlugin.PROD_PROP_SOURCE_FOLDER_LEGACY );
+			    }      			
+			}
+	    	if( srcFolder == null || srcFolder.equals("") ){ //$NON-NLS-1$
+	    		srcFolder = FacetCorePlugin.DEFAULT_SOURCE_FOLDER;
+	    	}
+	
+		}
+	    return srcFolder;
+	}
+	
+	
+	private static String getProductProperty( final String propName ){
+	    String value = null;
+	    if( Platform.getProduct() != null ){
+	        value = Platform.getProduct().getProperty( propName );
+	    }
+	    return value;
+	}
+	
+	public String getUtilityOutputFolderName(){
+		
+		String outputFolder = FacetCorePlugin.getDefault().getPluginPreferences().getString(FacetCorePlugin.OUTPUT_FOLDER);
+		if( outputFolder == null || outputFolder.equals("") ){ //$NON-NLS-1$
+			return getDefaultOutputFolderName();
+		}
+	    return outputFolder;
+	}
 }
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/EarHelper.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/EarHelper.java
index 426f84f..db4394d 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/EarHelper.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/EarHelper.java
@@ -20,7 +20,7 @@
 import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
 import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
-import org.eclipse.jst.j2ee.componentcore.EnterpriseArtifactEdit;
+import org.eclipse.jst.j2ee.componentcore.util.EARArtifactEdit;
 import org.eclipse.jst.j2ee.internal.J2EEConstants;
 import org.eclipse.wst.common.componentcore.ArtifactEdit;
 import org.eclipse.wst.common.componentcore.ComponentCore;
@@ -83,7 +83,7 @@
 		edit = ComponentUtilities.getArtifactEditForRead(comp);
 		
 		try {
-			Archive archive = ((EnterpriseArtifactEdit) edit).asArchive(false, false);
+			Archive archive = ((EARArtifactEdit) edit).asArchive(false, false, true);
 			earFile = (EARFile)archive;
 			return archive;
 		} catch (OpenFailureException e1) {
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/ProjectValidationHelper.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/ProjectValidationHelper.java
index 4e5090f..a4554df 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/ProjectValidationHelper.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/ProjectValidationHelper.java
@@ -54,6 +54,10 @@
 	
 	}
 	public IContainer[] getOutputContainers(IProject project) {
+		ProjectValidationHelper inst = getInstance();
+		if(inst == null){
+			return null;
+		}
 		return getInstance().getCachedOutputContainers(project);
 	}
 	
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/UIEarValidator.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/UIEarValidator.java
index 7cca166..0f80376 100644
--- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/UIEarValidator.java
+++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/validation/UIEarValidator.java
@@ -375,8 +375,10 @@
 			return;
 		List archives = earFile.getArchiveFiles();
 		for (int i = 0; i < archives.size(); i++) {
-
 			final Archive anArchive = (Archive) archives.get(i);
+			if(anArchive.getLoadStrategy().isReadOnly()){
+				continue;
+			}
 			IFile target = getManifestFile(anArchive);
 			if (target != null)
 				_reporter.removeMessageSubset(this, target, MANIFEST_GROUP_NAME);
diff --git a/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/DeleteEJBClientProjectChange.java b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/DeleteEJBClientProjectChange.java
new file mode 100644
index 0000000..39e6e1a
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/DeleteEJBClientProjectChange.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jst.javaee.ltk.core.change;
+
+import org.eclipse.core.internal.resources.ResourceException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.jst.javaee.ltk.core.nls.RefactoringResourceHandler;
+import org.eclipse.ltk.core.refactoring.Change;
+import org.eclipse.ltk.core.refactoring.RefactoringStatus;
+import org.eclipse.osgi.util.NLS;
+
+public class DeleteEJBClientProjectChange extends Change{
+
+	IProject ejbClientProject = null;
+	
+	public DeleteEJBClientProjectChange(IProject clientProj, boolean forceOutOfSync, boolean forceDelete) {
+		ejbClientProject = clientProj;
+	}
+	
+	public Change perform(IProgressMonitor pm) throws CoreException {
+		if(!ejbClientProject.isAccessible())
+			return null;
+		try{
+			ejbClientProject.delete(true, true, new NullProgressMonitor());
+		}catch(ResourceException e){
+			ejbClientProject.delete(false, true, new NullProgressMonitor());
+		}
+		return null;
+		
+	}
+
+	@Override
+	public Object getModifiedElement() {
+		return null;
+	}
+
+	@Override
+	public String getName() {
+		String name = NLS.bind(
+				RefactoringResourceHandler.Delete_EJB_Client_Project,
+				new Object[] { ejbClientProject.getName()});
+		return name;	
+	}
+
+	@Override
+	public void initializeValidationData(IProgressMonitor pm) {
+	}
+
+	@Override
+	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException,
+			OperationCanceledException {
+		return null;
+	}
+	
+}
diff --git a/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/EARReferenceRemoveChange.java b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/EARReferenceRemoveChange.java
new file mode 100644
index 0000000..51c9d2b
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/EARReferenceRemoveChange.java
@@ -0,0 +1,194 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jst.javaee.ltk.core.change;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.j2ee.internal.common.classpath.J2EEComponentClasspathUpdater;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.jst.j2ee.model.IEARModelProvider;
+import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.javaee.ltk.core.nls.RefactoringResourceHandler;
+import org.eclipse.jst.jee.application.ICommonApplication;
+import org.eclipse.jst.jee.application.ICommonModule;
+import org.eclipse.ltk.core.refactoring.Change;
+import org.eclipse.ltk.core.refactoring.ChangeDescriptor;
+import org.eclipse.ltk.core.refactoring.RefactoringStatus;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+
+
+public class EARReferenceRemoveChange extends Change {
+
+	
+	public EARReferenceRemoveChange(IProject referencingEARProject, IProject projectToRemove) {
+		super();
+		this.referencingEARProject = referencingEARProject;
+		this.projectToRemove = projectToRemove;
+		this.referencingEARProjectComp = ComponentCore.createComponent(referencingEARProject);
+		cachedRefs = referencingEARProjectComp.getReferences();
+		this.projectToRemoveComp = ComponentCore.createComponent(projectToRemove);
+		earModel = (IEARModelProvider)ModelProviderManager.getModelProvider(referencingEARProject);
+		moduleURI = earModel.getModuleURI(projectToRemoveComp);
+	}
+
+	IProject referencingEARProject = null;
+	IVirtualComponent referencingEARProjectComp = null;
+	IProject projectToRemove = null;
+	IVirtualComponent projectToRemoveComp = null;
+	IVirtualReference[] cachedRefs = null;
+	IEARModelProvider earModel = null;
+	String moduleURI = null;
+	@Override
+	public Object getModifiedElement() {
+		return null;
+	}
+
+	@Override
+	public String getName() {
+		String name = NLS.bind( RefactoringResourceHandler.Remove_JavaEE_References, 
+				new Object[] {projectToRemove.getName()});
+		name += referencingEARProject.getName();
+		return name;
+	}
+
+	@Override
+	public void initializeValidationData(IProgressMonitor pm) {
+	}
+
+	@Override
+	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException,
+			OperationCanceledException {
+	return null;
+	}
+
+	@Override
+	public Change perform(IProgressMonitor pm) throws CoreException {
+		updateEARDD();
+		removeReferencedComponents(pm);
+		return null;
+	}
+	
+	public ChangeDescriptor getDescriptor() {
+		return null;
+	}
+	
+	private void updateEARDD() {
+		if (!referencingEARProject.isAccessible())
+			return;
+		J2EEComponentClasspathUpdater.getInstance().queueUpdateEAR(referencingEARProject);
+		
+		earModel.modify(new Runnable() {
+			public void run() {
+				ICommonApplication application = (ICommonApplication)earModel.getModelObject();
+				if (application == null)
+					return;
+				IVirtualComponent moduleComponent = projectToRemoveComp.getComponent();
+				if(!moduleComponent.isBinary()){
+					J2EEComponentClasspathUpdater.getInstance().queueUpdateModule(moduleComponent.getProject());
+				}
+			
+				removeModule(application, moduleURI); 
+				IVirtualFile vFile = referencingEARProjectComp.getRootFolder().getFile(moduleURI);
+				IFile iFile = vFile.getUnderlyingFile();
+				if(iFile.exists()){
+					try {
+						iFile.delete(true, new NullProgressMonitor());
+					} catch (CoreException e) {
+						J2EEPlugin.logError(e);
+					}
+				}
+			
+			}
+		}, null);
+	}
+	
+	protected void removeModule(ICommonApplication application, String moduleURI) {
+		ICommonModule module = application.getFirstEARModule(moduleURI);
+		application.getEARModules().remove(module);
+	}
+	
+	protected void removeReferencedComponents(IProgressMonitor monitor) {
+		
+		if (referencingEARProjectComp == null || !referencingEARProjectComp.getProject().isAccessible() || referencingEARProjectComp.isBinary()) return;
+		
+		IVirtualReference [] existingReferencesArray = cachedRefs;
+		if(existingReferencesArray == null || existingReferencesArray.length == 0){
+			return;
+		}
+		List existingReferences = new ArrayList();
+		for(int i=0;i<existingReferencesArray.length; i++){
+			existingReferences.add(existingReferencesArray[i]);
+		}
+		List targetprojectList = new ArrayList();
+		if (projectToRemoveComp==null )
+				return;
+		IVirtualReference ref = findMatchingReference(existingReferences, projectToRemoveComp, null);
+		//if a ref was found matching the specified deployPath, then remove it
+		if(ref != null){
+			removeRefereneceInComponent(referencingEARProjectComp, ref);
+			existingReferences.remove(ref);
+			//after removing the ref, check to see if it was the last ref removed to that component
+			//and if it was, then also remove the project reference
+			ref = findMatchingReference(existingReferences, projectToRemoveComp);
+			if(ref == null){
+				IProject targetProject = projectToRemoveComp.getProject();
+				targetprojectList.add(targetProject);
+			}
+		}
+		
+		try {
+			ProjectUtilities.removeReferenceProjects(referencingEARProjectComp.getProject(),targetprojectList);
+		} catch (CoreException e) {
+			J2EEPlugin.logError(e);
+		}		
+		
+	}
+	
+	private IVirtualReference findMatchingReference(List existingReferences, IVirtualComponent comp) {
+		return findMatchingReference(existingReferences, comp, null);
+	}
+
+	protected void removeRefereneceInComponent(IVirtualComponent component, IVirtualReference reference) {
+		((VirtualComponent)component.getComponent()).removeReference(reference);
+	}
+	
+	private IVirtualReference findMatchingReference(List existingReferences, IVirtualComponent comp, IPath path) {
+		for(int i=0;i<existingReferences.size(); i++){
+			IVirtualReference ref = (IVirtualReference)existingReferences.get(i);
+			IVirtualComponent c = ref.getReferencedComponent();
+			if(c != null && c.getName().equals(comp.getName())){
+				if(path == null){
+					return ref;
+				} else if(path.equals(ref.getRuntimePath())){
+					return ref;
+				}
+			}
+		}
+		return null;
+	}
+
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/NonEARModuleReferenceRemoveChange.java b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/NonEARModuleReferenceRemoveChange.java
new file mode 100644
index 0000000..779f187
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/change/NonEARModuleReferenceRemoveChange.java
@@ -0,0 +1,340 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jst.javaee.ltk.core.change;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.ExecutionException;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProperties;
+import org.eclipse.jst.j2ee.application.internal.operations.UpdateManifestDataModelProvider;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveManifest;
+import org.eclipse.jst.j2ee.internal.J2EEConstants;
+import org.eclipse.jst.j2ee.internal.common.CreationConstants;
+import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
+import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
+import org.eclipse.jst.j2ee.model.IModelProvider;
+import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
+import org.eclipse.jst.javaee.ltk.core.nls.RefactoringResourceHandler;
+import org.eclipse.ltk.core.refactoring.Change;
+import org.eclipse.ltk.core.refactoring.ChangeDescriptor;
+import org.eclipse.ltk.core.refactoring.RefactoringStatus;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFile;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+
+
+public class NonEARModuleReferenceRemoveChange extends Change {
+
+	
+	public NonEARModuleReferenceRemoveChange(IProject referencingEARProject, IProject projectToRemove) {
+		super();
+		this.referencingModuleProject = referencingEARProject;
+		this.projectToRemove = projectToRemove;
+		this.referencingModuleProjectComp = (VirtualComponent)ComponentCore.createComponent(referencingEARProject);
+		cachedRefs = referencingModuleProjectComp.getReferences();
+		this.projectToRemoveComp = ComponentCore.createComponent(projectToRemove);
+	}
+	
+	IProject referencingModuleProject = null;
+	VirtualComponent referencingModuleProjectComp = null;
+	IProject projectToRemove = null;
+	IVirtualComponent projectToRemoveComp = null;
+	IVirtualReference[] cachedRefs = null;
+	@Override
+	public Object getModifiedElement() {
+		return null;
+	}
+
+	@Override
+	public String getName() {
+		
+		String name = NLS.bind(
+				RefactoringResourceHandler.Remove_JavaEE_References,
+				new Object[] {projectToRemove.getName()});
+		
+		name += referencingModuleProject.getName();
+		return name;
+		
+	}
+
+	@Override
+	public void initializeValidationData(IProgressMonitor pm) {
+	
+	}
+
+	@Override
+	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException,
+			OperationCanceledException {
+		return null;
+	}
+
+	@Override
+	public Change perform(IProgressMonitor pm) throws CoreException {
+		
+		try {
+			removeModuleDependency();
+			if(isEJBClientDeletion()){
+				updateEJBDDWithEJBClientDeletion();
+			}
+		} catch (ExecutionException e) {
+			J2EEPlugin.logError(e);
+		}
+		return null;
+	}
+	
+	public ChangeDescriptor getDescriptor() {
+		return null;
+	}
+	
+	private boolean isEJBClientDeletion(){
+		
+		if(!JavaEEProjectUtilities.isEJBProject(referencingModuleProject))
+			return false;
+		Properties props = referencingModuleProjectComp.getMetaProperties();
+		String clientCompName = props.getProperty(CreationConstants.EJB_CLIENT_NAME);
+		if(clientCompName == null || clientCompName.length() == 0){
+			return false;
+		}
+			
+		 if(clientCompName.equals(projectToRemove.getName())){
+			 return true;
+		 }
+	        return false;
+	}
+	
+	
+	/*
+	 * Remove the client JAR entry from the deployment descriptor
+	 * This method is to be used only to remove EJB Client jar entry from
+	 * EJB DD
+	 */
+	private void updateEJBDDWithEJBClientDeletion() {
+		IModelProvider ejbModel = ModelProviderManager.getModelProvider(referencingModuleProject);
+        ejbModel.modify(new Runnable() {
+            public void run() {
+                IModelProvider writableEjbModel = ModelProviderManager.getModelProvider(referencingModuleProject);
+                Object modelObject = writableEjbModel.getModelObject();
+                
+                if (modelObject instanceof org.eclipse.jst.javaee.ejb.EJBJar) {
+                    org.eclipse.jst.javaee.ejb.EJBJar ejbres = (org.eclipse.jst.javaee.ejb.EJBJar) writableEjbModel.getModelObject();
+                    if (ejbres != null)
+                    	ejbres.setEjbClientJar(null);
+                }
+                else {
+                    org.eclipse.jst.j2ee.ejb.EJBJar ejbres = (org.eclipse.jst.j2ee.ejb.EJBJar) writableEjbModel.getModelObject();
+                    ejbres.setEjbClientJar(null);
+                }
+            	Properties props = referencingModuleProjectComp.getMetaProperties();
+            	props.remove(CreationConstants.CLIENT_JAR_URI);
+            	props.remove(CreationConstants.EJB_CLIENT_NAME);
+            	referencingModuleProjectComp.clearMetaProperties();
+            	referencingModuleProjectComp.setMetaProperties(props);
+         		
+            }
+        },null);
+	}
+
+	
+	
+	protected void removeModuleDependency() throws ExecutionException {
+		
+		// create IVirtualComponents for the dependent and the refactored project
+		final IVirtualComponent dependentComp = referencingModuleProjectComp;
+		final IVirtualComponent refactoredComp = projectToRemoveComp;
+		final IProgressMonitor monitor = new NullProgressMonitor();
+		// Does the dependent project have a .component reference on the refactored project?
+		final IVirtualReference ref = hadReference();
+		final boolean webLibDep = hasWebLibDependency(ref);
+		
+		// remove the component reference on the deleted project
+		if (refactoredComp != null) {
+			removeReferencedComponents(monitor);
+		}
+		
+		// update the manifest
+			updateManifestDependency(true);
+	}
+	
+	
+	protected void updateManifestDependency(final boolean remove) throws ExecutionException {
+		final IVirtualComponent dependentComp = referencingModuleProjectComp;
+		IProject project= dependentComp.getProject();
+		if(project.isAccessible()){
+			final String dependentProjName = referencingModuleProject.getName();
+			final String refactoredProjName = projectToRemove.getName();
+			final IVirtualFile vf = dependentComp.getRootFolder().getFile(new Path(J2EEConstants.MANIFEST_URI) );
+			final IFile manifestmf = vf.getUnderlyingFile();
+			// adding this check for https://bugs.eclipse.org/bugs/show_bug.cgi?id=170074
+			// (some adopters have non-jst.ear module projects that are missing manifests)
+			if (!manifestmf.exists()) {  
+				return;
+			}
+			final IProgressMonitor monitor = new NullProgressMonitor();
+			final IDataModel updateManifestDataModel = DataModelFactory.createDataModel(new UpdateManifestDataModelProvider());
+			updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.PROJECT_NAME, dependentProjName);
+			updateManifestDataModel.setBooleanProperty(UpdateManifestDataModelProperties.MERGE, false);
+			updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.MANIFEST_FILE, manifestmf);
+			final ArchiveManifest manifest = J2EEProjectUtilities.readManifest(manifestmf);
+			String[] cp = manifest.getClassPathTokenized();
+			List cpList = new ArrayList();
+			String newjarCp = refactoredProjName + ".jar";//$NON-NLS-1$
+			String newrarCp = refactoredProjName + ".rar";//$NON-NLS-1$
+			for (int i = 0; i < cp.length; i++) {
+				if (!cp[i].equals(newjarCp) && !cp[i].equals(newrarCp)) {
+					cpList.add(cp[i]);
+				}
+			}
+			
+			updateManifestDataModel.setProperty(UpdateManifestDataModelProperties.JAR_LIST, cpList);
+			try {
+				updateManifestDataModel.getDefaultOperation().execute(monitor, null );
+			} catch (org.eclipse.core.commands.ExecutionException e) {
+				J2EEPlugin.logError(e);
+			}
+		}
+	}
+	
+	protected void removeReferencedComponents(IProgressMonitor monitor) {
+		
+		if (referencingModuleProjectComp == null || !referencingModuleProjectComp.getProject().isAccessible() || referencingModuleProjectComp.isBinary()) return;
+		
+		IVirtualReference [] existingReferencesArray = cachedRefs;
+		if(existingReferencesArray == null || existingReferencesArray.length == 0){
+			return;
+		}
+		
+		List existingReferences = new ArrayList();
+		for(int i=0;i<existingReferencesArray.length; i++){
+			existingReferences.add(existingReferencesArray[i]);
+		}
+		
+		List targetprojectList = new ArrayList();
+			if (projectToRemoveComp==null )
+				return;
+
+			IVirtualReference ref = findMatchingReference(existingReferences, projectToRemoveComp, null);
+			//if a ref was found matching the specified deployPath, then remove it
+			if(ref != null){
+				removeRefereneceInComponent(referencingModuleProjectComp, ref);
+				existingReferences.remove(ref);
+				//after removing the ref, check to see if it was the last ref removed to that component
+				//and if it was, then also remove the project reference
+				ref = findMatchingReference(existingReferences, projectToRemoveComp);
+				if(ref == null){
+					IProject targetProject = projectToRemoveComp.getProject();
+					targetprojectList.add(targetProject);
+				}
+			}
+		
+		
+		try {
+			ProjectUtilities.removeReferenceProjects(referencingModuleProjectComp.getProject(),targetprojectList);
+		} catch (CoreException e) {
+			J2EEPlugin.logError(e);
+		}		
+		
+	}
+	
+	private IVirtualReference findMatchingReference(List existingReferences, IVirtualComponent comp) {
+		return findMatchingReference(existingReferences, comp, null);
+	}
+
+	protected void removeRefereneceInComponent(IVirtualComponent component, IVirtualReference reference) {
+		((VirtualComponent)component.getComponent()).removeReference(reference);
+	}
+	
+	private IVirtualReference findMatchingReference(List existingReferences, IVirtualComponent comp, IPath path) {
+		for(int i=0;i<existingReferences.size(); i++){
+			IVirtualReference ref = (IVirtualReference)existingReferences.get(i);
+			IVirtualComponent c = ref.getReferencedComponent();
+			if(c != null && c.getName().equals(comp.getName())){
+				if(path == null){
+					return ref;
+				} else if(path.equals(ref.getRuntimePath())){
+					return ref;
+				}
+			}
+		}
+		return null;
+	}
+	
+	
+	/**
+	 * Does the dependent project have a .component reference on the refactored project?
+	 * @return IVirtualReference or null if one didn't exist.
+	 */
+	protected IVirtualReference hadReference() {
+		final IVirtualComponent refactoredComp = projectToRemoveComp;
+		if (refactoredComp == null) {
+			return null;
+		}
+		final IVirtualReference[] refs = cachedRefs;
+		IVirtualReference ref = null;
+		for (int i = 0; i < refs.length; i++) {
+			if (refs[i].getReferencedComponent().equals(refactoredComp)) {
+				ref = refs[i];
+				break;
+			}
+		}
+		return ref;
+	}
+	
+	/**
+	 * Does the dependent project have a .project reference on the refactored project?
+	 * (dynamic project refs don't count)
+	 * @return True if a project reference exists.
+	 */
+	protected boolean hadProjectReference() {
+		try {
+			final IProject[] refs = referencingModuleProject.getDescription().getReferencedProjects();
+			final IProject refactoredProject= projectToRemove;
+			for (int i = 0; i < refs.length; i++) {
+				if (refs[i].equals(refactoredProject)) {
+					return true;
+				}
+			} 
+		} catch (CoreException ce) {
+			J2EEPlugin.logError(ce);
+		}
+		return false;
+	}
+	
+	/**
+	 * Returns true if the dependency was a web library dependency. 
+	 * @param ref
+	 * @return
+	 */
+	protected static boolean hasWebLibDependency(final IVirtualReference ref) {
+		if (ref == null) {
+			return false;
+		}
+		return ref.getRuntimePath().equals(new Path("/WEB-INF/lib")); //$NON-NLS-1$
+	}
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/descriptor/EARReferenceRemoveDescriptor.java b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/descriptor/EARReferenceRemoveDescriptor.java
new file mode 100644
index 0000000..20823e4
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/descriptor/EARReferenceRemoveDescriptor.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jst.javaee.ltk.core.descriptor;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.ltk.core.refactoring.Refactoring;
+import org.eclipse.ltk.core.refactoring.RefactoringDescriptor;
+import org.eclipse.ltk.core.refactoring.RefactoringStatus;
+
+public class EARReferenceRemoveDescriptor extends RefactoringDescriptor {
+
+	public EARReferenceRemoveDescriptor(){
+		super (null, null, null, null, -1);
+	}
+	protected EARReferenceRemoveDescriptor(String id, String project,
+			String description, String comment, int flags) {
+		super(id, project, description, comment, flags);
+		}
+
+	@Override
+	public Refactoring createRefactoring(RefactoringStatus status)
+			throws CoreException {
+		return null;
+	}
+	
+	
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/nls/RefactoringResourceHandler.java b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/nls/RefactoringResourceHandler.java
new file mode 100644
index 0000000..d8f9375
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/nls/RefactoringResourceHandler.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jst.javaee.ltk.core.nls;
+
+import org.eclipse.osgi.util.NLS;
+
+public class RefactoringResourceHandler extends NLS {
+
+	private static final String BUNDLE_NAME = "refactoring";//$NON-NLS-1$
+	
+	public static String Delete_EB_From_DD;
+	public static String Delete_MDB_From_DD;
+	public static String Delete_SB_From_DD;
+	public static String Remove_JavaEE_References;
+	public static String JavaEE_Refactorings_Participant_title;
+	public static String Delete_EJB_Client_Project;
+	
+	private RefactoringResourceHandler() {
+		// Do not instantiate
+	}
+	
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, RefactoringResourceHandler.class);
+	}	
+}
diff --git a/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/participant/JavaEERefactoringParticipant.java b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/participant/JavaEERefactoringParticipant.java
new file mode 100644
index 0000000..6c4f663
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/ltkbasedrefactoring/org/eclipse/jst/javaee/ltk/core/participant/JavaEERefactoringParticipant.java
@@ -0,0 +1,121 @@
+/*******************************************************************************
+ * Copyright (c) 2008, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.jst.javaee.ltk.core.participant;
+
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.jst.j2ee.project.EJBUtilities;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
+import org.eclipse.jst.javaee.ltk.core.change.DeleteEJBClientProjectChange;
+import org.eclipse.jst.javaee.ltk.core.change.EARReferenceRemoveChange;
+import org.eclipse.jst.javaee.ltk.core.change.NonEARModuleReferenceRemoveChange;
+import org.eclipse.jst.javaee.ltk.core.nls.RefactoringResourceHandler;
+import org.eclipse.ltk.core.refactoring.Change;
+import org.eclipse.ltk.core.refactoring.CompositeChange;
+import org.eclipse.ltk.core.refactoring.RefactoringStatus;
+import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
+import org.eclipse.ltk.core.refactoring.participants.DeleteParticipant;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.wst.common.componentcore.internal.builder.IDependencyGraph;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+
+
+public class JavaEERefactoringParticipant extends DeleteParticipant {
+
+	private IProject projectToDelete = null;
+	private IProject ejbClientProject = null;
+	@Override
+	public RefactoringStatus checkConditions(IProgressMonitor pm,
+			CheckConditionsContext context) throws OperationCanceledException {
+		
+		return new RefactoringStatus();
+	}
+
+	@Override
+	public Change createChange(IProgressMonitor pm) throws CoreException,
+			OperationCanceledException {
+
+		CompositeChange result= null;
+		result = createChangeObjects(result,projectToDelete);
+		
+		if(ejbClientProject != null){
+			
+			result = createChangeObjects (result, ejbClientProject);
+			DeleteEJBClientProjectChange dc= new DeleteEJBClientProjectChange(ejbClientProject, true, true);
+			result.add(dc);
+		}
+		
+		return result;
+	}
+	
+	
+	private CompositeChange createChangeObjects(CompositeChange compositeChange, IProject projectToBeDeleted){
+		Set<IProject> referencingComponents = IDependencyGraph.INSTANCE.getReferencingComponents(projectToBeDeleted);
+		IProject[] dependentProjectList = (IProject[]) referencingComponents.toArray(new IProject[referencingComponents.size()]);
+	
+		if (dependentProjectList.length > 0){
+			if(compositeChange == null){
+			compositeChange = new CompositeChange(getName());
+			}
+			
+			for (int i = 0; i < dependentProjectList.length; i++){
+				IProject dependentProject = dependentProjectList[i];
+				if(JavaEEProjectUtilities.isEARProject(dependentProjectList[i])){
+					EARReferenceRemoveChange ec = new EARReferenceRemoveChange(dependentProject, projectToBeDeleted);
+					compositeChange.add(ec);
+				}else{
+					NonEARModuleReferenceRemoveChange nc = new NonEARModuleReferenceRemoveChange(dependentProject, projectToBeDeleted);
+					compositeChange.add(nc);
+				}
+			}
+		}
+		
+		return compositeChange;
+	}
+	
+	
+	private IProject getClientProject(IProject ejbProject) {
+		if( ejbProject.exists() && ejbProject.isAccessible()){
+			IVirtualComponent clientComponent = EJBUtilities.getEJBClientJar(ejbProject);
+			if(clientComponent != null){
+				return clientComponent.getProject();
+			}
+		}
+		return null;
+	}
+
+
+	@Override
+	public String getName() {
+		
+		String name = NLS.bind(
+				RefactoringResourceHandler.JavaEE_Refactorings_Participant_title,
+				new Object[] { projectToDelete.getName() });
+		return name;
+	}
+
+	@Override
+	protected boolean initialize(Object element) {
+		if(!(element instanceof IProject))
+			return false;
+		projectToDelete = (IProject) element;
+		if(JavaEEProjectUtilities.isEJBProject(projectToDelete)){
+			ejbClientProject = getClientProject(projectToDelete);
+		}
+		return true;
+	}
+
+}
diff --git a/plugins/org.eclipse.jst.j2ee/plugin.xml b/plugins/org.eclipse.jst.j2ee/plugin.xml
index 137d07c..b19157d 100644
--- a/plugins/org.eclipse.jst.j2ee/plugin.xml
+++ b/plugins/org.eclipse.jst.j2ee/plugin.xml
@@ -461,7 +461,6 @@
       </action>
       <action type="uninstall">
         <delegate class="org.eclipse.jst.j2ee.project.facet.UtilityFacetUnInstallDelegate"/>
-        <config-factory class="org.eclipse.jst.j2ee.project.facet.UtilityFacetInstallDataModelProvider"/>
       </action>
       <event-handler type="RUNTIME_CHANGED">
         <delegate class="org.eclipse.jst.j2ee.project.facet.J2EEFacetRuntimeChangedDelegate"/>
@@ -595,10 +594,10 @@
      point="org.eclipse.wst.common.frameworks.OperationExtension"
      id="org.eclipse.jst.j2ee.application.internal.operations.UpdateContextRoot">
    <operationExtension
-      id="org.eclipse.wst.web.internal.operation.WebProjectPropertiesUpdateOperation"
+      id="org.eclipse.wst.common.componentcore.internal.operation.ServerContextRootUpdateOperation"
       preOperationClass="org.eclipse.jst.j2ee.application.internal.operations.ComputeEARsForContextRootUpdateOp"/>
    <operationExtension
-      id="org.eclipse.wst.web.internal.operation.WebProjectPropertiesUpdateOperation"
+      id="org.eclipse.wst.common.componentcore.internal.operation.ServerContextRootUpdateOperation"
       postOperationClass="org.eclipse.jst.j2ee.application.internal.operations.UpdateModuleContextRootInEAROp"/>
   </extension>
 
@@ -711,7 +710,7 @@
   	<extension
          point="org.eclipse.core.runtime.contentTypes">
       <content-type
-            file-names="rar.xml"
+            file-names="ra.xml"
             id="connectorDD"
             base-type="org.eclipse.core.runtime.xml"
             name="%ConnectorContentType"
@@ -751,9 +750,13 @@
       properties="projectFacet"
       class="org.eclipse.jst.j2ee.internal.common.FacetedProjectPropertyTester">
     </propertyTester>
-  </extension>
-  
-  <extension point="org.eclipse.core.expressions.propertyTesters">
+    <propertyTester
+      id="org.eclipse.jst.j2ee.internal.common.WtpPreferencePropertyTester"
+      type="org.eclipse.core.resources.IProject"
+      namespace="org.eclipse.jst.j2ee"
+      properties="preferenceId"
+      class="org.eclipse.jst.j2ee.internal.common.J2EEPreferencePropertyTester">
+    </propertyTester>
 	<propertyTester
   		id="org.eclipse.jst.j2ee.internal.provider.FacetedProjectPropertyTester"
   		type="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider"
@@ -763,4 +766,42 @@
 	</propertyTester>
   </extension>
   
+  <!--
+    *****************************
+    * WTP User Library Provider *
+    *****************************
+  -->
+    
+  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
+    <provider id="wtp-user-library-provider" abstract="true" extends="user-library-provider">
+      <action type="INSTALL">
+        <config class="org.eclipse.jst.j2ee.internal.common.classpath.WtpUserLibraryProviderInstallOperationConfig"/>
+        <operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpUserLibraryProviderInstallOperation"/>
+      </action>
+    </provider>
+  </extension>
+  
+  <!--
+    *************************************
+    * WTP OSGi Bundles Library Provider *
+    *************************************
+  -->
+    
+  <extension point="org.eclipse.jst.common.project.facet.core.libraryProviders">
+    <provider id="wtp-osgi-bundles-library-provider" abstract="true" extends="osgi-bundles-library-provider">
+      <action type="INSTALL">
+        <config class="org.eclipse.jst.j2ee.internal.common.classpath.WtpOsgiBundlesLibraryProviderInstallOperationConfig"/>
+        <operation class="org.eclipse.jst.j2ee.internal.common.classpath.WtpOsgiBundlesLibraryProviderInstallOperation"/>
+      </action>
+    </provider>
+  </extension>
+
+  <extension point="org.eclipse.ltk.core.refactoring.deleteParticipants">
+     <deleteParticipant
+           class="org.eclipse.jst.javaee.ltk.core.participant.JavaEERefactoringParticipant"
+           id="JavaEERefactoringParticipant"
+           name="JavaEERefactoringParticipant">
+        <enablement></enablement>
+     </deleteParticipant>
+  </extension>
 </plugin>
diff --git a/plugins/org.eclipse.jst.j2ee/preferences.ini b/plugins/org.eclipse.jst.j2ee/preferences.ini
new file mode 100644
index 0000000..8d158cd
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/preferences.ini
@@ -0,0 +1 @@
+dynamicTranslationOfJetTemplates = false
diff --git a/plugins/org.eclipse.jst.j2ee/property_files/commonedit.properties b/plugins/org.eclipse.jst.j2ee/property_files/commonedit.properties
index 70b0c52..853bb3e 100644
--- a/plugins/org.eclipse.jst.j2ee/property_files/commonedit.properties
+++ b/plugins/org.eclipse.jst.j2ee/property_files/commonedit.properties
@@ -210,7 +210,7 @@
 Rename_could_not_be_completed_8=Rename could not be completed
 Rename_error_9=Rename error
 What_would_you_like_to_rename_this_to__10=What would you like to rename this to?
-Context_Root__11=Context Root:
+Context_Root__11=Context root:
 Rename_selected_Enterprise_Application_project_only_12=Rename selected Enterprise Application project only
 Also_rename_module_and_utility_Java_projects_13=Also rename module and utility Java projects
 Source_1=Source
diff --git a/plugins/org.eclipse.jst.j2ee/property_files/projectsupport.properties b/plugins/org.eclipse.jst.j2ee/property_files/projectsupport.properties
index d420fa7..8cb04ed 100644
--- a/plugins/org.eclipse.jst.j2ee/property_files/projectsupport.properties
+++ b/plugins/org.eclipse.jst.j2ee/property_files/projectsupport.properties
@@ -26,9 +26,9 @@
 Not_a_web_project_29=Not a web project
 A_web_project_must_be_open_and_must_exist_for_properties_to_be_edited_30=A web project must be open and must exist for properties to be edited
 Invalid_Servlet_Level_set_on_WebNature_3_EXC_=IWAE0010E Invalid Servlet Level set on WebNature
-Context_Root_cannot_be_empty_2=Context Root cannot be empty
+Context_Root_cannot_be_empty_2=Context root cannot be empty
 Names_cannot_begin_or_end_with_whitespace_5=Names cannot begin or end with whitespace
-Names_cannot_contain_whitespace_=Context Root cannot contain whitespace 
+Names_cannot_contain_whitespace_=Context root cannot contain whitespace 
 The_character_is_invalid_in_a_context_root=The character ''{0}'' is invalid in a context root.
 Folder_name_cannot_be_empty_2=Folder name cannot be empty
 Folder_names_cannot_be_equal_4=Folder names cannot be equal
@@ -45,3 +45,6 @@
 UNABLE_TO_LOAD_MODULE_ERROR_=UNABLE_TO_LOAD_MODULE_ERROR_
 Importing_archive=Importing archive ''{0}''.
 Exporting_archive=Exporting archive ''{0}''.
+DYNAMIC_WEB_DISTINCT_SRC_WEBCONTENT_ERROR=Dynamic Web Project Content and Source folder should be distinct
+DYNAMIC_WEB_PERFORMANCE_VALIDATION=Dynamic Web default output folder should be set to {0} to improve performance
+SOURCE_OUPUT_FOLDER_DIFF_BYCASE_ONLY=Source and output folder differ by case only 
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee/property_files/refactoring.properties b/plugins/org.eclipse.jst.j2ee/property_files/refactoring.properties
new file mode 100644
index 0000000..969e8cf
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee/property_files/refactoring.properties
@@ -0,0 +1,6 @@
+Delete_EB_From_DD=Delete Entity Bean ( {0} ) from DD
+Delete_MDB_From_DD=Delete Message Driven Bean ( {0} ) from DD
+Delete_SB_From_DD=Delete Session Bean ( {0} ) from DD
+Remove_JavaEE_References=Remove Java EE References to {0} in 
+JavaEE_Refactorings_Participant_title=Java EE Refactorings for {0}
+Delete_EJB_Client_Project=Delete {0}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/J2EEElementChangedListener.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/J2EEElementChangedListener.java
index 44da163..5642150 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/J2EEElementChangedListener.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/J2EEElementChangedListener.java
@@ -18,6 +18,7 @@
 import java.util.Map;
 
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceDelta;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.resources.WorkspaceJob;
@@ -96,8 +97,10 @@
 		final List changedJavaPaths = new ArrayList();
 		
 		// make certain this is a J2EE project
-		if (ModuleCoreNature.getModuleCoreNature(project) != null) {
+		if (ModuleCoreNature.isFlexibleProject(project)) {
 			IVirtualComponent c = ComponentCore.createComponent(project);
+			if(c == null)
+				return;
 			try {
 				// Did the classpath change?
 				if ((flags & IJavaElementDelta.F_CHILDREN) == IJavaElementDelta.F_CHILDREN) {
@@ -222,7 +225,7 @@
 							}
 							// getting a kind = REMOVED and flags = 0 for removal of the folder (w/o removing the CPE), probably
 							// should not be generated
-						} else if ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) == IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) {
+						} else if (kind == IJavaElementDelta.REMOVED || (flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) == IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) {
 							IPath path = root.getPath().removeFirstSegments(1);
 							pathsToRemove.add(new Object[]{path, defaultDestFolder});
 						} 
@@ -261,7 +264,21 @@
 			for (int i = 0; i < childDeltas.length; i++) {
 				processResourceDelta(childDeltas[i], rootFolder, sourceToRuntime, pathsToAdd, pathsToRemove, changedJavaPaths);
 			}
-		} else {
+		} else if (kind == IResourceDelta.REMOVED){
+			if(sourceToRuntime != null){
+				IResource resource = delta.getResource();
+				if(resource.getType() == IResource.FOLDER){
+					IVirtualComponent c = ComponentCore.createComponent(resource.getProject());
+					if(c != null){
+						rootFolder = c.getRootFolder();
+						final IPath movedFrom = delta.getProjectRelativePath();
+						final IPath runtimePath = (IPath) sourceToRuntime.get(movedFrom);
+						final IVirtualFolder folder = rootFolder.getFolder(runtimePath);
+						pathsToRemove.add(new Object[]{movedFrom, folder});
+					}
+				}
+			}
+		}else {
 			final int flags = delta.getFlags();
 			if ((flags & IResourceDelta.MOVED_FROM) == IResourceDelta.MOVED_FROM) {
 				if (rootFolder == null) {
@@ -309,11 +326,13 @@
 					sourceToRuntime.put(resource.getSourcePath().makeRelative(), resource.getRuntimePath());
 				}
 			}
-			return sourceToRuntime;
+		} catch (NullPointerException e) {
+			J2EEPlugin.logError(e);
 		} finally {
 			if (core != null)
 				core.dispose();
 		}
+		return sourceToRuntime;
 	}
 
 	/*
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/ProjectRefactoringListener.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/ProjectRefactoringListener.java
index 5bd474a..570d67a 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/ProjectRefactoringListener.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/listeners/ProjectRefactoringListener.java
@@ -11,7 +11,9 @@
 
 package org.eclipse.jst.j2ee.refactor.listeners;
 
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import org.eclipse.core.resources.IProject;
@@ -27,11 +29,9 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.jem.util.logger.proxy.Logger;
 import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin;
 import org.eclipse.jst.j2ee.refactor.RefactorResourceHandler;
 import org.eclipse.jst.j2ee.refactor.operations.OptionalRefactorHandler;
-import org.eclipse.jst.j2ee.refactor.operations.ProjectDeleteDataModelProvider;
 import org.eclipse.jst.j2ee.refactor.operations.ProjectRefactorMetadata;
 import org.eclipse.jst.j2ee.refactor.operations.ProjectRefactoringDataModelProvider;
 import org.eclipse.jst.j2ee.refactor.operations.ProjectRenameDataModelProvider;
@@ -40,6 +40,11 @@
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.internal.DeletedModule;
 
 /**
  * Listens for project rename/delete events and, if the project had the
@@ -61,14 +66,7 @@
 	/**
 	 * Maintains a cache of project depencencies;
 	 */
-	//private final ProjectDependencyCache cache;
-	
-	public ProjectRefactoringListener() {//final ProjectDependencyCache dependencyCache) {
-		//cache = dependencyCache;
-		// force a refresh of the DependencyGraphManager; was hitting an NPE
-		// in StructureEdit when the DGM was getting constructed during the receipt of the
-		// first pre-delete event
-		DependencyGraphManager.getInstance();
+	public ProjectRefactoringListener() {
 	}
 	
 	/* (non-Javadoc)
@@ -90,7 +88,7 @@
 				event.getDelta().accept(this);
 			}
 		} catch (CoreException ce) {
-			Logger.getLogger().logError(ce);
+			J2EEPlugin.logError(ce);
 		}
 	}
 	
@@ -101,7 +99,6 @@
 		metadata.computeServers();
 		metadata.computeDependentMetadata(ProjectRefactorMetadata.REF_CACHING,
 				DependencyGraphManager.getInstance().getDependencyGraph().getReferencingComponents(project));
-		//, cache.getDependentProjects(project));
 		deletedProjectMetadata.put(project.getName(), metadata);
 	}
 	
@@ -128,13 +125,15 @@
 
 		if (kind == IResourceDelta.REMOVED) {
 			if (hasDeletedRemovedFlags(flags)) {
-				// Remove all entries int the project dependency cache
-				//cache.removeProject(project);
 				// if the kind is REMOVED and there are no special flags, the project was deleted
 				ProjectRefactorMetadata metadata = (ProjectRefactorMetadata) deletedProjectMetadata.remove(project.getName()); 
 				// note: only projects with ModuleCoreNature will have cached metadata
 				if (metadata != null && OptionalRefactorHandler.getInstance().shouldRefactorDeletedProject(metadata)) {
-				    processDelete(metadata);
+					//Delete refactoring is now being done by the LTK refactoring framework
+					//for all java ee modules. Please refer to JavaEERefactoringParticipant
+					//we are only cleaning up the server references here
+					updateServerRefs(metadata);
+					
 				} 
 			} 
 		} else if (kind == IResourceDelta.ADDED && hasRenamedAddedFlags(flags)) { // was renamed
@@ -149,18 +148,8 @@
 			if (originalMetadata != null && OptionalRefactorHandler.getInstance().shouldRefactorRenamedProject(originalMetadata)) {
 				newMetadata.computeMetadata(originalMetadata.getProject());
 				processRename(originalMetadata, newMetadata, delta);
-				// Rename all entries in the project dependency cache
-				//cache.replaceProject(originalProject, project);
-			} else {
-				// likely due to missing the pre-delete event, so set the original to a metadata based on new project
-				// and reset project to one based on original name
-				//Logger.getLogger().logWarning(RefactorResourceHandler.getString("pre_delete_not_received_for_renamed", new Object[]{originalName + " " + flags}));
-			}
+			} 
 		} 
-		//else if (kind == IResourceDelta.CHANGED || kind == IResourceDelta.ADDED) { 
-		// (re)compute the dependencies
-		//cache.refreshDependencies(project);
-		//}		
 	}
 	
 	/*
@@ -199,8 +188,8 @@
 					dataModel.getDefaultOperation().execute(monitor, null);
 				} catch (Exception e) {
 					final String msg = RefactorResourceHandler.getString("error_updating_project_on_rename", new Object[]{originalMetadata.getProjectName()});
-					Logger.getLogger().logError(msg);
-					Logger.getLogger().logError(e);
+					J2EEPlugin.logError(msg);
+					J2EEPlugin.logError(e);
 					return new Status(Status.ERROR, J2EEPlugin.PLUGIN_ID, 0, msg, e);
 				}				
 				return Status.OK_STATUS;
@@ -215,31 +204,47 @@
 		job.schedule();
 	}
 	
-	/*
-	 * Processes the deletion of a project.
-	 */
-	private void processDelete(final ProjectRefactorMetadata metadata) {
-		WorkspaceJob job = new WorkspaceJob("J2EEProjectDeleteJob") {
+	private void updateServerRefs(final ProjectRefactorMetadata refactorMetadata) {
+		WorkspaceJob job = new WorkspaceJob("ServerRefreshJob") { //$NON-NLS-1$
 			public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-				final IDataModel dataModel = DataModelFactory.createDataModel(new ProjectDeleteDataModelProvider());
-				dataModel.setProperty(ProjectRefactoringDataModelProvider.PROJECT_METADATA, metadata);
-				try {
-					dataModel.getDefaultOperation().execute(monitor, null);
-				} catch (Exception e) {
-					final String msg = RefactorResourceHandler.getString("error_updating_project_on_delete", new Object[]{metadata.getProjectName()});
-					Logger.getLogger().logError(msg);
-					Logger.getLogger().logError(e);
-					return new Status(Status.ERROR, J2EEPlugin.PLUGIN_ID, 0, msg, e);
+				final IModule moduleToRemove = refactorMetadata.getModule();
+				if (moduleToRemove == null) {
+					return Status.OK_STATUS;
+				}
+				// Need to replace the original module with a DeletedModule
+				final IModule[] toUpdate = new IModule[1];
+				toUpdate[0] = new DeletedModule(moduleToRemove.getId(), moduleToRemove
+						.getName(), moduleToRemove.getModuleType());
+				IServer[] affectedServers = refactorMetadata.getServers();
+				IServerWorkingCopy wc = null;
+				for (int i = 0; i < affectedServers.length; i++) {
+					try {
+						wc = affectedServers[i].createWorkingCopy();
+						List list = Arrays.asList(affectedServers[i].getModules());
+						if (list.contains(moduleToRemove)) {
+							ServerUtil.modifyModules(wc, null, toUpdate, null);
+						}
+					} catch (CoreException ce) {
+						J2EEPlugin.logError(ce);
+					} finally {
+						try {
+							if (wc != null) {
+								wc.saveAll(true, null);
+							}
+						} catch (CoreException ce) {
+							J2EEPlugin.logError(ce);
+						}
+					}
 				}
 				return Status.OK_STATUS;
 			}
 			
 			public boolean belongsTo(final Object family) {
-				return PROJECT_REFACTORING_JOB_FAMILY.equals(family);
+				return ProjectRefactoringListener.PROJECT_REFACTORING_JOB_FAMILY.equals(family);
 			}
 		};
-		// XXX note: might want to consider switching to a MultiRule for optimization
 		job.setRule(ResourcesPlugin.getWorkspace().getRoot());
 		job.schedule();
-	}
-}
+	}	
+	
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteDataModelProvider.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteDataModelProvider.java
index d06abee..7fb236b 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteDataModelProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteDataModelProvider.java
@@ -12,7 +12,9 @@
 package org.eclipse.jst.j2ee.refactor.operations;
 
 import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class ProjectDeleteDataModelProvider extends	ProjectRefactoringDataModelProvider {
 
 	/* (non-Javadoc)
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteOperation.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteOperation.java
index 88c1575..c6f5b8d 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectDeleteOperation.java
@@ -20,6 +20,9 @@
 /**
  * Subclass of <code>ProjectRefactorOperation</code> that contains deletion-specific logic.
  */
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class ProjectDeleteOperation extends ProjectRefactorOperation {
 
 	public ProjectDeleteOperation(final IDataModel model) {
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java
index c95b788..2905356 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorMetadata.java
@@ -122,7 +122,7 @@
 				metadata = new ProjectRefactorMetadata(dependentProjects[i], virtualComponentCaching);
 				metadata.computeMetadata();
 				dependentMetadata.add(metadata);
-				if (metadata.isEAR()) {
+				if (metadata.isEAR() && virtualComp.getComponent() != null) {
 					final String uri = getModuleURI(dependentProject, virtualComp);
 					if (uri != null) {
 						earToModuleURI.put(dependentProject.getName(), uri);
@@ -252,6 +252,7 @@
 			return _comp.exists();
 		}
 		public IVirtualComponent getComponent() {
+			if(_comp == null) return null;
 			return _comp.getComponent();
 		}
 		public Properties getMetaProperties() {
@@ -324,7 +325,9 @@
 		private IVirtualReference[] cachedRefs;
 		public RefCachingVirtualComponent(final IVirtualComponent comp) {
 			super(comp);
-			cachedRefs = ((VirtualComponent)comp).getAllReferences();
+			if(comp != null){
+				cachedRefs = ((VirtualComponent)comp).getAllReferences();
+			}
 		}
 
 		public IVirtualReference getReference(String aComponentName) {
@@ -351,7 +354,9 @@
 		private IVirtualComponent[] cachedReferers;
 		public RefererCachingVirtualComponent(final IVirtualComponent comp) {
 			super(comp);
-			cachedReferers = comp.getReferencingComponents();
+			if(comp != null){
+				cachedReferers = comp.getReferencingComponents();
+			}
 		}
 
 		public IVirtualComponent[] getReferencingComponents() {
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorOperation.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorOperation.java
index 72a9fd2..fead42b 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRefactorOperation.java
@@ -15,7 +15,6 @@
 import java.util.List;
 
 import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -25,12 +24,10 @@
 import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.server.core.internal.DeletedModule;
-import org.eclipse.wst.server.core.internal.Module;
 
 /**
  * Abstract base class for project refactoring operations.
@@ -109,6 +106,7 @@
 			final ProjectRefactorMetadata newMetadata)
 		throws ExecutionException {
 		final IModule originalModule = originalMetadata.getModule();
+
 		if (originalModule == null) {
 			// no module for the original project, so return
 			return;
@@ -121,19 +119,17 @@
 		IModule newModule = null;
 		IModule[] toAdd = new IModule[0];
 		if (newMetadata != null) {
+			/* 
+			 * Due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=124292,
+			 * need to ensure that the IModule for the renamed project has the
+			 * is the newest available from the module factory. 
+			 */
+			newMetadata.computeMetadata();
 			newModule = newMetadata.getModule();
 			if (newModule == null) {
 				// no module for the new project, so return
 				return;
 			}
-			// XXX Due to https://bugs.eclipse.org/bugs/show_bug.cgi?id=124292,
-			// need to ensure that the IModule for the renamed project has the
-			// id and name for the renamed IProject and not the old name
-			final IProject newProject = newMetadata.getProject();
-			final IModuleType moduleType = newModule.getModuleType();
-            ((Module) newModule).getModuleFactory().getModules();
-			newModule = new Module(((Module) newModule).getModuleFactory(), newProject.getName(), newProject.getName(), moduleType.getId(), 
-					moduleType.getVersion(), newProject);
 			toAdd = new IModule[]{newModule};
 		}
 		
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRenameOperation.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRenameOperation.java
index 7b924c4..bdbf6b9 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRenameOperation.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/ProjectRenameOperation.java
@@ -16,21 +16,22 @@
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResourceDelta;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jst.j2ee.common.CompatibilityDescriptionGroup;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
 import org.eclipse.jst.j2ee.model.IModelProvider;
 import org.eclipse.jst.j2ee.model.ModelProviderManager;
+import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
+import org.eclipse.jst.j2ee.project.facet.IJ2EEFacetConstants;
 import org.eclipse.jst.javaee.application.Application;
 import org.eclipse.jst.javaee.applicationclient.ApplicationClient;
 import org.eclipse.jst.javaee.core.DisplayName;
 import org.eclipse.jst.javaee.core.JavaeeFactory;
 import org.eclipse.jst.javaee.ejb.EJBJar;
 import org.eclipse.jst.javaee.web.WebApp;
-import org.eclipse.wst.common.componentcore.internal.ComponentcoreFactory;
-import org.eclipse.wst.common.componentcore.internal.Property;
 import org.eclipse.wst.common.componentcore.internal.StructureEdit;
 import org.eclipse.wst.common.componentcore.internal.WorkbenchComponent;
+import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
 import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
 import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
 import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
@@ -54,44 +55,38 @@
 	 */
 	protected void updateProject(final ProjectRefactorMetadata originalMetadata) 
 		throws ExecutionException {
-		
+		  
 		// Update the project's .component file
 		final ProjectRefactorMetadata refactoredMetadata = super.getProjectMetadata();
 		final String oldProjectName = originalMetadata.getProjectName();
 		final String newProjectName = refactoredMetadata.getProjectName();
+		IProject newProject = ResourcesPlugin.getWorkspace(). getRoot().getProject(newProjectName);
+		String originalContextRoot = ComponentUtilities.getServerContextRoot(newProject);
+		if (oldProjectName.equals(originalContextRoot)) {
+			// if old context root = project name, lets update it
+			ComponentUtilities.setServerContextRoot(newProject, newProjectName);
+		}
 		StructureEdit core = null;
-		try {
-			core = StructureEdit.getStructureEditForWrite(refactoredMetadata.getProject());
-			WorkbenchComponent component = core.getComponent();
-			// if the deploy-name had been set to the old project name, update it to 
-			// the new project name
-			if (component.getName().equals(originalMetadata.getProjectName())) {
-				component.setName(refactoredMetadata.getProjectName());
-			}
-			// if there is a context-root property that had been set to the old project name, update it to 
-			// the new project name
-			List propList = component.getProperties();
-            for (int i = 0; i < propList.size(); i++) {
-            	final Property prop = (Property) propList.get(i);
-            	if (prop.getName().equals("context-root") && prop.getValue().equals(oldProjectName)) {
-            		propList.remove(i);
-            		final Property newProp = ComponentcoreFactory.eINSTANCE.createProperty();
-				    newProp.setName("context-root");
-				    newProp.setValue(newProjectName);
-				    propList.add(newProp);
-				    break;
-            	}
-            }
-		} finally {
+		WorkbenchComponent component = null;
+		try{
+		core = StructureEdit.getStructureEditForWrite(refactoredMetadata.getProject());
+		if(core != null){
+		component = core.getComponent();
+		}
+	
+		// if the deploy-name equals the old project name, update it in the module-specific deployment descriptor
+		if (component != null && component.getName().equals(originalMetadata.getProjectName())) {
+			component.setName(refactoredMetadata.getProjectName());
+		}
+		}finally {
 			if(core != null) {
 				core.saveIfNecessary(null);
 				core.dispose();
 			}
 		}
-		
-		// if the deploy-name equals the old project name, update it in the module-specific deployment descriptor
 		final IProject refactoredProject = refactoredMetadata.getProject();
-		if (J2EEProjectUtilities.isUtilityProject(refactoredProject)) {
+		String pType = JavaEEProjectUtilities.getJ2EEProjectType(refactoredProject);
+		if(IJ2EEFacetConstants.UTILITY.equals(pType) || "".equals(pType)) {
 			// skip if a utility project (will not have a ModelProvider and checking logs an error
 			return;
 		}
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteOp.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteOp.java
index 55a660a..cb92879 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteOp.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteOp.java
@@ -29,6 +29,9 @@
  * Subclass of <code>UpdateDependentProjectOp</code> that updates a dependent
  * EAR project when one of the referenced projects has been deleted.
  */
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class UpdateDependentEARonDeleteOp extends UpdateDependentProjectOp {
 
 	/**
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteProvider.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteProvider.java
index 1a4f0ca..b534e56 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentEARonDeleteProvider.java
@@ -12,7 +12,9 @@
 package org.eclipse.jst.j2ee.refactor.operations;
 
 import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class UpdateDependentEARonDeleteProvider extends UpdateDependentProjectDataModelProvider 
 	implements ProjectRefactoringProperties {
 	
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteOp.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteOp.java
index de1ab7f..1495ea8 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteOp.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteOp.java
@@ -45,6 +45,9 @@
  * Subclass of <code>UpdateDependentProjectOp</code> that updates a dependent
  * module project when one of the referenced projects has been deleted.
  */
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class UpdateDependentModuleonDeleteOp extends UpdateDependentProjectOp {
 	
 	/**
diff --git a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteProvider.java b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteProvider.java
index c3365c6..2b95dd4 100644
--- a/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteProvider.java
+++ b/plugins/org.eclipse.jst.j2ee/refactor/org/eclipse/jst/j2ee/refactor/operations/UpdateDependentModuleonDeleteProvider.java
@@ -12,7 +12,9 @@
 package org.eclipse.jst.j2ee.refactor.operations;
 
 import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
-
+@Deprecated
+//This class is being deprecated in 3.1, and is in plan to be removed
+//in 3.2, since it is not being used.
 public class UpdateDependentModuleonDeleteProvider extends UpdateDependentProjectDataModelProvider 
 	implements ProjectRefactoringProperties {
 	
diff --git a/plugins/org.eclipse.jst.j2ee/schema/DeployerExtension.exsd b/plugins/org.eclipse.jst.j2ee/schema/DeployerExtension.exsd
index 5f66b36..6b52a64 100644
--- a/plugins/org.eclipse.jst.j2ee/schema/DeployerExtension.exsd
+++ b/plugins/org.eclipse.jst.j2ee/schema/DeployerExtension.exsd
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.jst.j2ee">

+<schema targetNamespace="org.eclipse.jst.j2ee" xmlns="http://www.w3.org/2001/XMLSchema">

 <annotation>

       <appInfo>

          <meta.schema plugin="org.eclipse.jst.j2ee" id="DeployerExtension" name="J2EE Deployer Extension"/>

@@ -11,6 +11,11 @@
    </annotation>

 

    <element name="extension">

+      <annotation>

+         <appInfo>

+            <meta.element />

+         </appInfo>

+      </annotation>

       <complexType>

          <sequence>

             <element ref="deployer"/>

@@ -47,6 +52,7 @@
                <element ref="nature"/>

                <element ref="component"/>

             </choice>

+            <element ref="facetExclusions" minOccurs="0" maxOccurs="unbounded"/>

          </sequence>

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

             <annotation>

@@ -94,6 +100,18 @@
       </complexType>

    </element>

 

+   <element name="facetExclusions">

+      <complexType>

+         <attribute name="facet_id" type="string">

+            <annotation>

+               <documentation>

+                  

+               </documentation>

+            </annotation>

+         </attribute>

+      </complexType>

+   </element>

+

    <annotation>

       <appInfo>

          <meta.section type="since"/>

@@ -103,32 +121,8 @@
       </documentation>

    </annotation>

 

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

 

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

 

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

 

    <annotation>

       <appInfo>

diff --git a/plugins/org.eclipse.jst.j2ee.ui/.classpath b/plugins/org.eclipse.wst.web/.classpath
similarity index 86%
rename from plugins/org.eclipse.jst.j2ee.ui/.classpath
rename to plugins/org.eclipse.wst.web/.classpath
index 3dce472..15a90f8 100644
--- a/plugins/org.eclipse.jst.j2ee.ui/.classpath
+++ b/plugins/org.eclipse.wst.web/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="j2ee_ui"/>
+	<classpathentry kind="src" path="static_web_project"/>
 	<classpathentry kind="src" path="property_files"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
diff --git a/plugins/org.eclipse.jst.j2ee.ui/.cvsignore b/plugins/org.eclipse.wst.web/.cvsignore
similarity index 78%
rename from plugins/org.eclipse.jst.j2ee.ui/.cvsignore
rename to plugins/org.eclipse.wst.web/.cvsignore
index 678089c..590084f 100644
--- a/plugins/org.eclipse.jst.j2ee.ui/.cvsignore
+++ b/plugins/org.eclipse.wst.web/.cvsignore
@@ -1,8 +1,7 @@
 bin
-doc
+runtime
 temp.folder
 build.xml
-j2ee_ui.jar
 @dot
 src.zip
 javaCompiler...args
diff --git a/plugins/org.eclipse.jst.j2ee.ui/.project b/plugins/org.eclipse.wst.web/.project
similarity index 86%
rename from plugins/org.eclipse.jst.j2ee.ui/.project
rename to plugins/org.eclipse.wst.web/.project
index 937fa4b..fb86548 100644
--- a/plugins/org.eclipse.jst.j2ee.ui/.project
+++ b/plugins/org.eclipse.wst.web/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.jst.j2ee.ui</name>
+	<name>org.eclipse.wst.web</name>
 	<comment></comment>
 	<projects>
 	</projects>
@@ -24,6 +24,5 @@
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>com.ibm.etools.ctc.javaprojectnature</nature>
 	</natures>
 </projectDescription>
diff --git a/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.wst.web/.settings/org.eclipse.jdt.core.prefs
similarity index 80%
rename from plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.jdt.core.prefs
rename to plugins/org.eclipse.wst.web/.settings/org.eclipse.jdt.core.prefs
index e2a8bcb..8665c1f 100644
--- a/plugins/org.eclipse.jst.j2ee.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.wst.web/.settings/org.eclipse.jdt.core.prefs
@@ -1,22 +1,27 @@
-#Thu May 10 18:35:45 EDT 2007
+#Thu May 10 18:39:18 EDT 2007
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=ignore
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
 org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=ignore
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
 org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
 org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
 org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
@@ -32,7 +37,7 @@
 org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
 org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
 org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
 org.eclipse.jdt.core.compiler.problem.nullReference=ignore
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
@@ -51,7 +56,7 @@
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
 org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
 org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
 org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
@@ -60,3 +65,5 @@
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.incompatibleJDKLevel=warning
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/plugins/org.eclipse.wst.web/META-INF/MANIFEST.MF b/plugins/org.eclipse.wst.web/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..f2880da
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/META-INF/MANIFEST.MF
@@ -0,0 +1,29 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name.0
+Bundle-SymbolicName: org.eclipse.wst.web; singleton:=true
+Bundle-Version: 1.1.301.qualifier
+Bundle-Activator: org.eclipse.wst.web.internal.WSTWebPlugin
+Bundle-Vendor: %Bundle-Vendor.0
+Bundle-Localization: plugin
+Export-Package: org.eclipse.wst.project.facet,
+ org.eclipse.wst.web.internal;x-internal:=true,
+ org.eclipse.wst.web.internal.deployables;x-internal:=true,
+ org.eclipse.wst.web.internal.facet,
+ org.eclipse.wst.web.internal.operation;x-internal:=true
+Require-Bundle: org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.wst.common.frameworks;bundle-version="[1.1.0,1.2.0)",
+ org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.wst.validation;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.wst.common.emfworkbench.integration;bundle-version="[1.1.0,1.2.0)",
+ org.eclipse.wst.server.core;bundle-version="[1.0.102,2.0.0)",
+ org.eclipse.jem.util;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.wst.common.modulecore;bundle-version="[1.1.0,1.2.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.2.0,3.0.0)",
+ org.eclipse.wst.common.project.facet.core;bundle-version="[1.1.0,2.0.0)",
+ com.ibm.icu;bundle-version="[3.4.4,4.1.0)",
+ org.eclipse.wst.common.environment;bundle-version="[1.0.100,1.1.0)"
+Eclipse-LazyStart: true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.jst.j2ee.ui/about.html b/plugins/org.eclipse.wst.web/about.html
similarity index 100%
rename from plugins/org.eclipse.jst.j2ee.ui/about.html
rename to plugins/org.eclipse.wst.web/about.html
diff --git a/plugins/org.eclipse.wst.web/build.properties b/plugins/org.eclipse.wst.web/build.properties
new file mode 100644
index 0000000..7058501
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/build.properties
@@ -0,0 +1,14 @@
+bin.includes = plugin.xml,\
+               plugin.properties,\
+               icons/,\
+               META-INF/,\
+               about.html,\
+               .
+jars.compile.order = .
+src.includes = component.xml,\
+               property_files/,\
+               plugin.xml,\
+               plugin.properties
+output.. = bin/
+source.. = static_web_project/,\
+           property_files/
diff --git a/plugins/org.eclipse.wst.web/component.xml b/plugins/org.eclipse.wst.web/component.xml
new file mode 100644
index 0000000..89207cb
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/component.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><component  xmlns="http://eclipse.org/wtp/releng/tools/component-model" name="org.eclipse.wst.web"><component-depends unrestricted="true"></component-depends><plugin id="org.eclipse.wst.web" fragment="false"/><plugin id="org.eclipse.wst.web.ui" fragment="false"/></component>
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.web/icons/full/obj16/web_application.gif b/plugins/org.eclipse.wst.web/icons/full/obj16/web_application.gif
new file mode 100644
index 0000000..09f609d
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/icons/full/obj16/web_application.gif
Binary files differ
diff --git a/plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webapp_deploy.gif b/plugins/org.eclipse.wst.web/icons/full/obj16/webstatic_deploy.gif
similarity index 100%
rename from plugins/org.eclipse.jst.j2ee.ui/icons/full/obj16/webapp_deploy.gif
rename to plugins/org.eclipse.wst.web/icons/full/obj16/webstatic_deploy.gif
Binary files differ
diff --git a/plugins/org.eclipse.wst.web/icons/full/wizban/newwprj_wiz.png b/plugins/org.eclipse.wst.web/icons/full/wizban/newwprj_wiz.png
new file mode 100644
index 0000000..1edd090
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/icons/full/wizban/newwprj_wiz.png
Binary files differ
diff --git a/plugins/org.eclipse.wst.web/plugin.properties b/plugins/org.eclipse.wst.web/plugin.properties
new file mode 100644
index 0000000..64a6891
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/plugin.properties
@@ -0,0 +1,11 @@
+#########################################
+# (c) Copyright IBM Corp. 2000, 2001.
+# All Rights Reserved.
+#########################################
+
+Bundle-Vendor.0 = Eclipse.org
+Bundle-Name.0 = Simple Web Plug-in
+
+SIMPLE_WEB_LABEL=Static Web Module
+SIMPLE_WEB_DESCRIPTION=Enables the project to be deployed as a static web module.
+SIMPLE_WEB_TEMPLATE=Static Web Project
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.web/plugin.xml b/plugins/org.eclipse.wst.web/plugin.xml
new file mode 100644
index 0000000..0fd8b4d
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/plugin.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+   <extension-point id="runtimePresetMappings" name="Runtime Preset Mappings Extension" schema="schema/runtimePresetMappings.exsd"/> 
+   <extension
+         point="org.eclipse.wst.server.core.moduleFactories">
+      <moduleFactory
+            projects="true"
+            class="org.eclipse.wst.web.internal.deployables.StaticWebDeployableFactory"
+            id="org.eclipse.wst.web.internal.deployables.static">
+         <moduleType
+               versions="1.0, 1.2, 1.3, 1.4"
+               types="wst.web">
+         </moduleType>
+      </moduleFactory>
+     </extension>
+     
+    <extension
+         point="org.eclipse.wst.server.core.moduleArtifactAdapters">
+       <moduleArtifactAdapter
+            id="org.eclipse.jst.web.server.webstatic1"
+            class="org.eclipse.wst.web.internal.deployables.StaticWebDeployableObjectAdapter">
+         <enablement>
+           <with variable="selection">
+             <adapt type="org.eclipse.core.resources.IProject">
+             <test forcePluginActivation="true"
+							property="org.eclipse.wst.common.project.facet.core.projectFacet"
+							value="wst.web" />
+			 </adapt>
+           </with>
+         </enablement>
+       </moduleArtifactAdapter>
+       <moduleArtifactAdapter
+            id="org.eclipse.jst.web.server.webstatic2"
+            class="org.eclipse.wst.web.internal.deployables.StaticWebDeployableObjectAdapter">
+         <enablement>
+           <with variable="selection">
+             <adapt type="org.eclipse.core.resources.IFile">
+             <test forcePluginActivation="true"
+							property="org.eclipse.wst.common.project.facet.core.projectFacet"
+							value="wst.web" />
+			 </adapt>
+           </with>
+         </enablement>
+      </moduleArtifactAdapter>   
+   </extension>
+   <extension point="org.eclipse.core.runtime.adapters">
+         <factory
+             class="org.eclipse.wst.web.internal.deployables.StaticWebDeployableObjectAdapter"
+             adaptableType="org.eclipse.core.resources.IProject">
+            <adapter type="org.eclipse.wst.web.internal.deployables.IStaticWebModuleArtifact"/>
+        </factory>    
+   </extension> 
+   
+    <!--============================-->
+   <!-- Builder Provider registrations-->
+   <!--============================-->
+	<extension
+         point="org.eclipse.wst.common.frameworks.DataModelProviderExtension">
+     	<ProviderDefinesType
+      		providerType="wst.web.builder"
+      		providerID="org.eclipse.wst.common.componentcore.internal.builder.WorkbenchComponentBuilderDataModelProvider"/>
+		<DataModelProvider
+            class="org.eclipse.wst.web.internal.operation.SimpleWebModuleCreationDataModelProvider"
+            id="org.eclipse.wst.web.internal.operation.SimpleWebModuleCreationDataModelProvider"/>
+	</extension>
+	
+  <!-- Project Facets -->
+	<extension point="org.eclipse.wst.common.project.facet.core.facets">
+
+    <project-facet id="wst.web">
+      <label>%SIMPLE_WEB_LABEL</label>
+      <description>%SIMPLE_WEB_DESCRIPTION</description>
+      <property name="hide.version" value="true"/>
+    </project-facet>
+
+    <project-facet-version facet="wst.web" version="1.0">
+      <action type="install" id="wst.web.install">
+        <delegate class="org.eclipse.wst.project.facet.SimpleWebFacetInstallDelegate"/>
+        <config-factory class="org.eclipse.wst.project.facet.SimpleWebFacetInstallDataModelProvider"/>
+      </action>
+      <action type="uninstall" id="wst.web.uninstall">
+        <delegate class="org.eclipse.wst.project.facet.SimpleWebFacetUninstallDelegate"/>
+        <config-factory class="org.eclipse.wst.project.facet.SimpleWebFacetInstallDataModelProvider"/>
+      </action>
+      <constraint>
+        <conflicts group="modules"/>
+      </constraint>
+      <group-member id="modules"/>
+    </project-facet-version>
+        
+    <template id="template.wst.web">
+      <label>%SIMPLE_WEB_TEMPLATE</label>
+      <fixed facet="wst.web"/>
+    </template>
+
+  </extension>	
+</plugin>
diff --git a/plugins/org.eclipse.wst.web/property_files/staticwebproject.properties b/plugins/org.eclipse.wst.web/property_files/staticwebproject.properties
new file mode 100644
index 0000000..5daa75f
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/property_files/staticwebproject.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# Copyright (c) 2005, 2006 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+StaticWebProjectCreationWizard_Wizard_Title=New Static Web Project
+StaticWebProjectWizardBasePage_Page_Description=Create a Web project for simple content (HTML files) only.
+StaticWebSettingsPropertiesPage_Web_Content_Label=Web content folder name:
+StaticContextRootComposite_Context_Root_Label=Context root
+StaticWebProjectWizardBasePage_Page_Title=Static Web Project
+StaticWebSettingsPropertiesPage_Not_available_for_closed_projects=Web settings are not available for a closed project.
+TargetRuntime=Target runtime
+NewDotDotDot=N&ew...
+InvalidServerTarget=Invalid target server selected.
+ConfigureSettings=Configure Static Web module settings.
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.web/schema/runtimePresetMappings.exsd b/plugins/org.eclipse.wst.web/schema/runtimePresetMappings.exsd
new file mode 100644
index 0000000..3d27116
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/schema/runtimePresetMappings.exsd
@@ -0,0 +1,141 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.web" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.eclipse.wst.web" id="RuntimePresetMappings" name="Runtime Preset Mappings Extension"/>
+      </appinfo>
+      <documentation>
+         This extension point allows the configuration of a default facet preset for any Runtime Type ID, Facet ID &amp; Fact Version combination.  For example, given runtime type X, facet jst.web, and version 2.4, the preset Y should be selected by default where as given runtime type X, facet jst.web, and version 2.5, the preset Z should be selected by default.
+
+For each of the four facetRuntimeTypeID, facetRuntimeVersion, facetID, facetVersion the following pattern is used to ease the definition process.  The pattern specified allows a comma deliminated list of possible values.  For example to match only &quot;1.0&quot; the pattern should be &quot;1.0&quot;.  To match multiple values, say 1.0, 2.0, and 3.0, use &quot;1.0,2.0,3.0&quot;.  Asterests may be used to specify multiple values.  For example, &quot;1.*&quot; will match any values starting with &apos;1.&apos; including 1., 1.0, 1.1, 1.2, but not 1  Likewise, &quot;*.0&quot; will match any values ending with &apos;.0&apos; including 1.0, 2.0, 3.0, but not 1 or 0  Asterists may be added both at the begining and end of a string, so &quot;*00*&quot; will match any string that contains &apos;00&apos; such as 00, 100, 1001.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <sequence minOccurs="1" maxOccurs="unbounded">
+            <element ref="mapping" minOccurs="1" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="mapping">
+      <annotation>
+         <documentation>
+            Each mapping element defineds a mapping from (runtimeid, facetid, facetversion) to presetid.
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="id" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="facetRuntimeTypeID" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Follows the pattern outlined in the overview
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="facetRuntimeVersion" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Follows the pattern outlined in the overview
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="facetID" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Follows the pattern outlined in the overview
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="facetVersion" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Follows the pattern outlined in the overview
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="presetID" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/IProductConstants.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/IProductConstants.java
new file mode 100644
index 0000000..80a207c
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/IProductConstants.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.project.facet;
+
+/**
+ * These constants define the set of properties that this pluging expects to
+ * be available via <code>IProduct.getProperty(String)</code>. The status of
+ * this interface and the facilities offered is highly provisional. 
+ * Productization support will be reviewed and possibly modified in future 
+ * releases.
+ * 
+ * @see org.eclipse.core.runtime.IProduct#getProperty(String)
+ */
+
+public interface IProductConstants {   
+    
+    public static final String APPLICATION_CONTENT_FOLDER = "earContent"; //$NON-NLS-1$
+	public static final String WEB_CONTENT_FOLDER = "webContent"; //$NON-NLS-1$
+	public static final String EJB_CONTENT_FOLDER = "ejbContent"; //$NON-NLS-1$
+	public static final String APP_CLIENT_CONTENT_FOLDER = "appClientContent"; //$NON-NLS-1$
+	public static final String JCA_CONTENT_FOLDER = "jcaContent"; //$NON-NLS-1$
+	public static final String DEFAULT_SOURCE_FOLDER = "defaultSource"; //$NON-NLS-1$
+	public static final String ADD_TO_EAR_BY_DEFAULT = "addToEarByDefault"; //$NON-NLS-1$
+	public static final String OUTPUT_FOLDER = "outputFolder"; //$NON-NLS-1$
+	public static final String USE_SINGLE_ROOT_STRUCTURE = "useSingleRootStructure"; //$NON-NLS-1$
+	public static final String ID_PERSPECTIVE_HIERARCHY_VIEW = "idPerspectiveHierarchyView"; //$NON-NLS-1$
+	public static final String SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE = "showJavaEEModuleDependencyPage"; //$NON-NLS-1$
+	
+	public static final String DYN_WEB_OUTPUT_FOLDER = "dynWebOutput"; //$NON-NLS-1$
+	public static final String EJB_OUTPUT_FOLDER = "ejbOutput"; //$NON-NLS-1$
+	public static final String APP_CLIENT_OUTPUT_FOLDER = "appClientOutput"; //$NON-NLS-1$
+	public static final String JCA_OUTPUT_FOLDER = "jcaOutput"; //$NON-NLS-1$
+	public static final String UTILITY_OUTPUT_FOLDER ="utilOutput"; //$NON-NLS-1$
+	
+	/**
+     * Alters the final perspective used by the following new project wizards
+     */
+	public static final String FINAL_PERSPECTIVE_WEB = "finalPerspectiveWeb"; //$NON-NLS-1$
+	public static final String FINAL_PERSPECTIVE_EJB = "finalPerspectiveEjb"; //$NON-NLS-1$
+	public static final String FINAL_PERSPECTIVE_EAR = "finalPerspectiveEar"; //$NON-NLS-1$
+	public static final String FINAL_PERSPECTIVE_APPCLIENT = "finalPerspectiveAppClient"; //$NON-NLS-1$
+	public static final String FINAL_PERSPECTIVE_JCA = "finalPerspectiveJca"; //$NON-NLS-1$
+	public static final String FINAL_PERSPECTIVE_UTILITY = "finalPerspectiveUtility"; //$NON-NLS-1$
+	public static final String FINAL_PERSPECTIVE_STATICWEB = "finalPerspectiveStaticWeb"; //$NON-NLS-1$
+	
+	/**
+	 * Ability to default initial runtimes chosen in wizards
+	 */
+	public static final String DEFAULT_RUNTIME_1 = "defaultRuntime1"; //$NON-NLS-1$
+	public static final String DEFAULT_RUNTIME_2 = "defaultRuntime2"; //$NON-NLS-1$
+	public static final String DEFAULT_RUNTIME_3 = "defaultRuntime3"; //$NON-NLS-1$
+	public static final String VIEWER_SYNC_FOR_WEBSERVICES = "viewerSyncForWebservices"; //$NON-NLS-1$
+	
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/ISimpleWebFacetInstallDataModelProperties.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/ISimpleWebFacetInstallDataModelProperties.java
new file mode 100644
index 0000000..2f3263e
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/ISimpleWebFacetInstallDataModelProperties.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.project.facet;
+
+import org.eclipse.wst.common.frameworks.datamodel.IDataModelProperties;
+
+public interface ISimpleWebFacetInstallDataModelProperties extends IDataModelProperties {
+	/**
+	 * This field should not be used.  It is not part of the API and may be modified in the future.
+	 */
+	public static Class _provider_class = SimpleWebFacetProjectCreationDataModelProvider.class;
+
+	public static final String CONTENT_DIR = "IStaticWebFacetInstallDataModelProperties.CONTENT_DIR"; //$NON-NLS-1$
+	
+	public static final String CONTEXT_ROOT = "IStaticWebFacetInstallDataModelProperties.CONTEXT_ROOT"; //$NON-NLS-1$
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/ProductManager.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/ProductManager.java
new file mode 100644
index 0000000..72e9592
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/ProductManager.java
@@ -0,0 +1,173 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.project.facet;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntime;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponent;
+import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
+
+public class ProductManager {
+
+	/**
+	 * Default values for WTP level product
+	 */
+	private static final String APPLICATION_CONTENT_FOLDER = "EarContent"; //$NON-NLS-1$
+	private static final String WEB_CONTENT_FOLDER = "WebContent"; //$NON-NLS-1$
+	private static final String EJB_CONTENT_FOLDER = "ejbModule"; //$NON-NLS-1$
+	private static final String APP_CLIENT_CONTENT_FOLDER = "appClientModule"; //$NON-NLS-1$
+	private static final String JCA_CONTENT_FOLDER = "connectorModule"; //$NON-NLS-1$
+	private static final String DEFAULT_SOURCE_FOLDER = "src"; //$NON-NLS-1$
+	private static final String ADD_TO_EAR_BY_DEFAULT = "false"; //$NON-NLS-1$
+	private static final String OUTPUT_FOLDER = "build/classes"; //$NON-NLS-1$
+	private static final String USE_SINGLE_ROOT_STRUCTURE = "false"; //$NON-NLS-1$
+	private static final String VIEWER_SYNC_FOR_WEBSERVICES = "true"; //$NON-NLS-1$
+	private static final String ID_PERSPECTIVE_HIERARCHY_VIEW = "org.eclipse.ui.navigator.ProjectExplorer"; //$NON-NLS-1$
+	private static final String SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE = "true"; //$NON-NLS-1$
+	private static final String FINAL_PERSPECTIVE = "org.eclipse.jst.j2ee.J2EEPerspective"; //$NON-NLS-1$
+	private static final char RUNTIME_SEPARATOR = ':';
+	private static final String[] DEFAULT_RUNTIME_KEYS = 
+							new String[]{IProductConstants.DEFAULT_RUNTIME_1,
+										IProductConstants.DEFAULT_RUNTIME_2,
+										IProductConstants.DEFAULT_RUNTIME_3};
+	
+	/**
+	 * Return the value for the associated key from the Platform Product registry or return the
+	 * WTP default for the J2EE cases.
+	 * 
+	 * @param key
+	 * @return String value of product's property
+	 */
+	public static String getProperty(String key) {
+		if (key == null)
+			return null;
+		String value = null;
+		if (Platform.getProduct()!=null)
+			value = Platform.getProduct().getProperty(key);
+		if (value == null) {
+			if (key.equals(IProductConstants.APPLICATION_CONTENT_FOLDER))
+				return APPLICATION_CONTENT_FOLDER;
+			else if (key.equals(IProductConstants.WEB_CONTENT_FOLDER))
+				return WEB_CONTENT_FOLDER;
+			else if (key.equals(IProductConstants.EJB_CONTENT_FOLDER))
+				return EJB_CONTENT_FOLDER;
+			else if (key.equals(IProductConstants.APP_CLIENT_CONTENT_FOLDER))
+				return APP_CLIENT_CONTENT_FOLDER;
+			else if (key.equals(IProductConstants.JCA_CONTENT_FOLDER))
+				return JCA_CONTENT_FOLDER;
+			else if (key.equals(IProductConstants.DEFAULT_SOURCE_FOLDER))
+				return DEFAULT_SOURCE_FOLDER;
+			else if (key.equals(IProductConstants.ADD_TO_EAR_BY_DEFAULT))
+				return ADD_TO_EAR_BY_DEFAULT;
+			else if (key.equals(IProductConstants.USE_SINGLE_ROOT_STRUCTURE))
+				return USE_SINGLE_ROOT_STRUCTURE;
+			else if (key.equals(IProductConstants.VIEWER_SYNC_FOR_WEBSERVICES))
+				return VIEWER_SYNC_FOR_WEBSERVICES;
+			else if (key.equals(IProductConstants.OUTPUT_FOLDER))
+				return OUTPUT_FOLDER;
+			else if (key.equals(IProductConstants.ID_PERSPECTIVE_HIERARCHY_VIEW))
+				return ID_PERSPECTIVE_HIERARCHY_VIEW;
+			else if (key.equals(IProductConstants.FINAL_PERSPECTIVE_APPCLIENT))
+				return FINAL_PERSPECTIVE;
+			else if (key.equals(IProductConstants.FINAL_PERSPECTIVE_EAR))
+				return FINAL_PERSPECTIVE;
+			else if (key.equals(IProductConstants.FINAL_PERSPECTIVE_EJB))
+				return FINAL_PERSPECTIVE;
+			else if (key.equals(IProductConstants.FINAL_PERSPECTIVE_JCA))
+				return FINAL_PERSPECTIVE;
+			else if (key.equals(IProductConstants.FINAL_PERSPECTIVE_STATICWEB))
+				return null;
+			else if (key.equals(IProductConstants.FINAL_PERSPECTIVE_UTILITY))
+				return FINAL_PERSPECTIVE;
+			else if (key.equals(IProductConstants.FINAL_PERSPECTIVE_WEB))
+				return FINAL_PERSPECTIVE;
+			else if (key.equals(IProductConstants.SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE))
+				return SHOW_JAVA_EE_MODULE_DEPENDENCY_PAGE;
+		}
+		return value;
+	}
+	
+	public static boolean shouldAddToEARByDefault() {
+		String value = getProperty(IProductConstants.ADD_TO_EAR_BY_DEFAULT);
+		return Boolean.valueOf(value).booleanValue();
+	}
+	
+	public static boolean shouldUseSingleRootStructure() {
+		String value = getProperty(IProductConstants.USE_SINGLE_ROOT_STRUCTURE);
+		return Boolean.valueOf(value).booleanValue();
+	}
+	
+	public static boolean shouldUseViewerSyncForWebservices() {
+		String value = getProperty(IProductConstants.VIEWER_SYNC_FOR_WEBSERVICES);
+		return Boolean.valueOf(value).booleanValue();
+	}
+
+	public static List/*<IRuntime>*/ getDefaultRuntimes() {
+		List theRuntimes = null;
+		Set runtimes = RuntimeManager.getRuntimes();
+		if (!runtimes.isEmpty()) {
+			IRuntime defaultRuntime = null;
+			//	First check if defaults are defined
+			for (int i = 0; i < DEFAULT_RUNTIME_KEYS.length; i++) {
+				defaultRuntime = getMatchingRuntime(DEFAULT_RUNTIME_KEYS[i], runtimes);
+				if (defaultRuntime != null) {
+					if (theRuntimes == null) {
+						theRuntimes = new ArrayList(3);
+					}
+					theRuntimes.add(defaultRuntime);
+				}
+			}
+		}
+		if (theRuntimes == null) {
+			theRuntimes = Collections.EMPTY_LIST;
+		}
+		return theRuntimes;
+	}
+	
+	private static IRuntime getMatchingRuntime(String defaultProductRuntimeProperty, Set runtimes) {
+		String defaultProductRuntimeKey = getProperty(defaultProductRuntimeProperty);
+		if (defaultProductRuntimeKey == null || defaultProductRuntimeKey.length() == 0) {
+			return null;
+		}
+		//The defaultProductRuntimeKey needs to be in the following format
+		//<facet runtime id>:<facet version>.
+		int seperatorIndex = defaultProductRuntimeKey.indexOf(RUNTIME_SEPARATOR);
+		if (seperatorIndex < 0 && seperatorIndex < defaultProductRuntimeKey.length()) {
+			//Consider throwing an exception here.
+			Logger.getLogger().logError("Invalid default product runtime id.  It should follow the format <facet runtime id>:<facet version>.  Id processed: " + defaultProductRuntimeKey);
+			return null;
+		}
+		String defaultRuntimeID = defaultProductRuntimeKey.substring(0, seperatorIndex);
+		String defaultFacetVersion = defaultProductRuntimeKey.substring(seperatorIndex + 1);
+		for (Iterator runtimeIt = runtimes.iterator(); runtimeIt.hasNext();) {
+			IRuntime runtime = (IRuntime) runtimeIt.next();
+			List runtimeComps = runtime.getRuntimeComponents();
+			if (!runtimeComps.isEmpty()) {
+				for (Iterator compsIter = runtimeComps.iterator(); compsIter.hasNext();) {
+					IRuntimeComponent runtimeComp = (IRuntimeComponent) compsIter.next();
+					if (defaultRuntimeID.equals(runtimeComp.getRuntimeComponentType().getId()) &&
+						(defaultFacetVersion.equals(runtimeComp.getRuntimeComponentVersion().getVersionString()))) {
+							return runtime;
+					}
+				}
+			}
+		}
+		//No matches found.
+		return null;
+	}
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java
new file mode 100644
index 0000000..c6c452a
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDataModelProvider.java
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.project.facet;
+
+import java.util.Set;
+
+import org.eclipse.wst.common.componentcore.datamodel.FacetInstallDataModelProvider;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+
+public class SimpleWebFacetInstallDataModelProvider extends FacetInstallDataModelProvider implements ISimpleWebFacetInstallDataModelProperties {
+
+	public SimpleWebFacetInstallDataModelProvider() {
+		super();
+	}
+
+	public Set getPropertyNames() {
+		Set names = super.getPropertyNames();
+		names.add(CONTENT_DIR);
+		names.add(CONTEXT_ROOT);
+		return names;
+	}
+
+	public Object getDefaultProperty(String propertyName) {
+		if (propertyName.equals(CONTENT_DIR)) {
+			return "WebContent"; //$NON-NLS-1$
+		} else if (propertyName.equals(CONTEXT_ROOT)) {
+			return getProperty(FACET_PROJECT_NAME);
+		} else if (propertyName.equals(FACET_ID)) {
+			return IModuleConstants.WST_WEB_MODULE;
+		}
+		return super.getDefaultProperty(propertyName);
+	}
+	
+	public boolean propertySet(String propertyName, Object propertyValue) {
+		if (FACET_PROJECT_NAME.equals(propertyName)) {
+			model.notifyPropertyChange(CONTEXT_ROOT, IDataModel.VALID_VALUES_CHG);
+		}
+		return super.propertySet(propertyName, propertyValue);
+	}
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java
new file mode 100644
index 0000000..00c56f4
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetInstallDelegate.java
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.project.facet;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.datamodel.FacetDataModelProvider;
+import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
+import org.eclipse.wst.common.project.facet.core.IDelegate;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+
+public class SimpleWebFacetInstallDelegate implements IDelegate {
+
+	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
+		if (monitor != null)
+			monitor.beginTask("", 1); //$NON-NLS-1$
+		try {
+			IDataModel model = (IDataModel) config;
+			addNatures(project);
+			final IVirtualComponent c = ComponentCore.createComponent(project, false);
+			c.create(0, null);
+			
+			final IWorkspace ws = ResourcesPlugin.getWorkspace();
+			final IPath pjpath = project.getFullPath();
+			final IPath contentdir = setContentPropertyIfNeeded(model, pjpath, project);
+			mkdirs(ws.getRoot().getFolder(contentdir));
+			
+			final IVirtualFolder webroot = c.getRootFolder();
+			if (webroot.getProjectRelativePath().equals(new Path("/"))) { //$NON-NLS-1$
+				webroot.createLink(new Path("/" + model.getStringProperty(ISimpleWebFacetInstallDataModelProperties.CONTENT_DIR)), 0, null); //$NON-NLS-1$
+			}
+			
+			ComponentUtilities.setServerContextRoot(project,model.getStringProperty(ISimpleWebFacetInstallDataModelProperties.CONTEXT_ROOT));
+			
+			try {
+				((IDataModelOperation) model.getProperty(FacetDataModelProvider.NOTIFICATION_OPERATION)).execute(monitor, null);
+			} catch (ExecutionException e) {
+				Logger.getLogger().logError(e);
+			}
+		} finally {
+			if (monitor != null)
+				monitor.done();
+		}
+	}
+	
+	private IPath setContentPropertyIfNeeded(final IDataModel model, final IPath pjpath, IProject project) {
+		IVirtualComponent c = ComponentCore.createComponent(project);
+		if (c.exists()) {
+			if( !c.getRootFolder().getProjectRelativePath().isRoot() ){
+				return c.getRootFolder().getUnderlyingResource().getFullPath();
+			}
+		}
+		return pjpath.append(model.getStringProperty(ISimpleWebFacetInstallDataModelProperties.CONTENT_DIR));
+	}
+
+	private void addNatures(final IProject project) throws CoreException {
+		final IProjectDescription desc = project.getDescription();
+		final String[] current = desc.getNatureIds();
+		final String[] replacement = new String[current.length + 1];
+		System.arraycopy(current, 0, replacement, 0, current.length);
+		replacement[current.length] = IModuleConstants.MODULE_NATURE_ID;
+		desc.setNatureIds(replacement);
+		project.setDescription(desc, null);
+	}
+	
+	private static void mkdirs(final IFolder folder) throws CoreException {
+		if (!folder.exists()) {
+			if (folder.getParent() instanceof IFolder) {
+				mkdirs((IFolder) folder.getParent());
+			}
+			folder.create(true, true, null);
+		}
+	}
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetProjectCreationDataModelProvider.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetProjectCreationDataModelProvider.java
new file mode 100644
index 0000000..7949f6b
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetProjectCreationDataModelProvider.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.project.facet;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.wst.common.componentcore.datamodel.FacetProjectCreationDataModelProvider;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+
+public class SimpleWebFacetProjectCreationDataModelProvider extends FacetProjectCreationDataModelProvider {
+
+	public SimpleWebFacetProjectCreationDataModelProvider() {
+		super();
+	}
+	
+	public void init() {
+		super.init();
+
+        Collection<IProjectFacet> requiredFacets = new ArrayList<IProjectFacet>();
+        requiredFacets.add(ProjectFacetsManager.getProjectFacet(IModuleConstants.WST_WEB_MODULE));
+        setProperty(REQUIRED_FACETS_COLLECTION, requiredFacets);
+	}
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetUninstallDelegate.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetUninstallDelegate.java
new file mode 100644
index 0000000..2445796
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/project/facet/SimpleWebFacetUninstallDelegate.java
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.project.facet;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.wst.common.componentcore.internal.StructureEdit;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.project.facet.core.IDelegate;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+
+public class SimpleWebFacetUninstallDelegate implements IDelegate {
+
+	public SimpleWebFacetUninstallDelegate() {
+		super();
+	}
+
+	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
+		if (monitor != null)
+			monitor.beginTask("", 1); //$NON-NLS-1$
+		try {
+			// Remove the .component file
+			IFile file = project.getFile(StructureEdit.MODULE_META_FILE_NAME);
+			file.delete(true, monitor);
+			
+			// Remove the module core nature
+			ProjectUtilities.removeNatureFromProject(project, IModuleConstants.MODULE_NATURE_ID);
+		} finally {
+			if (monitor != null)
+				monitor.done();
+		}
+	}
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/DelegateConfigurationElement.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/DelegateConfigurationElement.java
new file mode 100644
index 0000000..bf8bd47
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/DelegateConfigurationElement.java
@@ -0,0 +1,223 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+/*
+ * Created on Dec 14, 2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.eclipse.wst.web.internal;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IContributor;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.InvalidRegistryObjectException;
+
+/**
+ * An object which represents the user-defined contents of an extension in a plug-in manifest.
+ */
+public class DelegateConfigurationElement implements IConfigurationElement {
+
+	private final IConfigurationElement delegateElement;
+	private static final String DELEGATE_NAME = "delegateConfigurationElement"; //$NON-NLS-1$ 
+	private static final String DELEGATE_NAMESPACE = "delegateConfigurationElementNamespace"; //$NON-NLS-1$ 
+	private static final String DELEGATE_NULL_STRING = "delegateConfigurationElement: NULL"; //$NON-NLS-1$ 
+
+	public DelegateConfigurationElement(IConfigurationElement aDelegate) {
+		delegateElement = aDelegate;
+	}
+
+	/**
+	 * @param propertyName
+	 * @return
+	 * @throws org.eclipse.core.runtime.CoreException
+	 */
+	public Object createExecutableExtension(String propertyName) throws CoreException {
+		if (delegateElement == null)
+			return null;
+		return delegateElement.createExecutableExtension(propertyName);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see java.lang.Object#equals(java.lang.Object)
+	 */
+	public boolean equals(Object obj) {
+		if (delegateElement == null)
+			return false;
+		return delegateElement.equals(obj);
+	}
+
+	/**
+	 * @param name
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getAttribute(String name) throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return null;
+		return delegateElement.getAttribute(name);
+	}
+
+	/**
+	 * @param name
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getAttributeAsIs(String name) throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return null;
+		return delegateElement.getAttributeAsIs(name);
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String[] getAttributeNames() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return new String[0];
+		return delegateElement.getAttributeNames();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public IConfigurationElement[] getChildren() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return new IConfigurationElement[0];
+		return delegateElement.getChildren();
+	}
+
+	/**
+	 * @param name
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public IConfigurationElement[] getChildren(String name) throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return new IConfigurationElement[0];
+		return delegateElement.getChildren(name);
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public IExtension getDeclaringExtension() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			throw new InvalidRegistryObjectException();
+		return delegateElement.getDeclaringExtension();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getName() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return DELEGATE_NAME;
+		return delegateElement.getName();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getNamespace() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return DELEGATE_NAMESPACE;
+		return delegateElement.getNamespace();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public Object getParent() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return null;
+		return delegateElement.getParent();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getValue() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return null;
+		return delegateElement.getValue();
+	}
+
+	/**
+	 * @return
+	 * @throws org.eclipse.core.runtime.InvalidRegistryObjectException
+	 */
+	public String getValueAsIs() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return null;
+		return delegateElement.getValueAsIs();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see java.lang.Object#hashCode()
+	 */
+	public int hashCode() {
+		if (delegateElement == null)
+			return -1;
+		return delegateElement.hashCode();
+	}
+
+	/**
+	 * @return
+	 */
+	public boolean isValid() {
+
+		if (delegateElement == null)
+			return false;
+		return delegateElement.isValid();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see java.lang.Object#toString()
+	 */
+	public String toString() {
+		if (delegateElement == null)
+			return DELEGATE_NULL_STRING;
+		return delegateElement.toString();
+	}
+
+	public IConfigurationElement toEquinox() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public IContributor getContributor() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			throw new InvalidRegistryObjectException();
+		return delegateElement.getContributor();
+	}
+
+	public String getNamespaceIdentifier() throws InvalidRegistryObjectException {
+		if (delegateElement == null)
+			return DELEGATE_NAMESPACE;
+		return delegateElement.getNamespaceIdentifier();
+	}
+
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ISimpleWebModuleConstants.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ISimpleWebModuleConstants.java
new file mode 100644
index 0000000..e58e260
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ISimpleWebModuleConstants.java
@@ -0,0 +1,23 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.web.internal;
+
+
+public interface ISimpleWebModuleConstants
+{
+	public static final String PLUG_IN_ID = "org.eclipse.wst.web"; //$NON-NLS-1$
+	public static final String STATIC_PROJECT_TYPE = "STATIC"; //$NON-NLS-1$
+	public static final String CSS_DIRECTORY = "theme"; //$NON-NLS-1$
+	public static final String INFO_DIRECTORY = "WEB-INF"; //$NON-NLS-1$
+	public static final String LIBRARY_DIRECTORY = "lib"; //$NON-NLS-1$
+	public static final String CLASSES_DIRECTORY = "classes"; //$NON-NLS-1$
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/IWSTWebPreferences.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/IWSTWebPreferences.java
new file mode 100644
index 0000000..0f4e7aa
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/IWSTWebPreferences.java
@@ -0,0 +1,13 @@
+/***************************************************************************************************
+ * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
+ * accompanying materials are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ **************************************************************************************************/
+package org.eclipse.wst.web.internal;
+
+public interface IWSTWebPreferences {
+	String PREF_STATICWEBCONTENT = "org.eclipse.jst.j2ee.preference.staticWebContentName"; //$NON-NLS-1$
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ResourceHandler.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ResourceHandler.java
new file mode 100644
index 0000000..87c27dc
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/ResourceHandler.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.web.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+public final class ResourceHandler extends NLS {
+
+	private static final String BUNDLE_NAME = "staticwebproject";//$NON-NLS-1$
+
+	private ResourceHandler() {
+		// Do not instantiate
+	}
+
+	public static String StaticWebProjectCreationWizard_Wizard_Title;
+	public static String StaticWebProjectWizardBasePage_Page_Description;
+	public static String StaticWebSettingsPropertiesPage_Web_Content_Label;
+	public static String StaticContextRootComposite_Context_Root_Label;
+	public static String StaticWebProjectWizardBasePage_Page_Title;
+	public static String StaticWebSettingsPropertiesPage_Not_available_for_closed_projects;
+	public static String TargetRuntime;
+	public static String NewDotDotDot;
+	public static String InvalidServerTarget;
+	public static String ConfigureSettings;
+
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, ResourceHandler.class);
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPlugin.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPlugin.java
new file mode 100644
index 0000000..a856e57
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPlugin.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.web.internal;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.wst.validation.internal.plugin.ValidationPlugin;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import java.lang.Throwable;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.MultiStatus;
+
+/**
+ * The main plugin class to be used in the desktop.
+ */
+public class WSTWebPlugin extends Plugin
+{
+	//The shared instance.
+	private static WSTWebPlugin plugin;
+
+	private WSTWebPreferences preferences;
+	
+	public static final String VALIDATION_BUILDER_ID = ValidationPlugin.VALIDATION_BUILDER_ID; // plugin
+	
+	public static final String[] ICON_DIRS = new String[]{"icons/full/obj16", //$NON-NLS-1$
+				"icons/full/ctool16", //$NON-NLS-1$
+				"icons/full/wizban", //$NON-NLS-1$
+				"icons", //$NON-NLS-1$
+				""}; //$NON-NLS-1$
+
+	//the ID for this plugin (added automatically by logging quickfix)
+	public static final String PLUGIN_ID = "org.eclipse.wst.web"; //$NON-NLS-1$
+	/**
+	 * The constructor.
+	 */
+	public WSTWebPlugin() {
+		super();
+		plugin = this;
+	}
+
+	/**
+	 * Returns the shared instance.
+	 */
+	public static WSTWebPlugin getDefault()
+	{
+		return plugin;
+	}
+
+	public static IWorkspace getWorkspace() {
+		return ResourcesPlugin.getWorkspace();
+	}
+	
+	protected void initializeDefaultPluginPreferences() {
+		getWSTWebPreferences().initializeDefaultPreferences();
+	}
+	/**
+	 * @return Returns the preferences.
+	 */
+	public WSTWebPreferences getWSTWebPreferences() {
+		if (this.preferences == null)
+			this.preferences = new WSTWebPreferences(this);
+		return this.preferences;
+	}
+
+	public static IStatus createStatus(int severity, String message, Throwable exception) {
+		return new Status(severity, PLUGIN_ID, message, exception);
+	}
+
+	public static IStatus createStatus(int severity, String message) {
+		return createStatus(severity, message, null);
+	}
+
+	public static void logError(String message) {
+		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( createStatus(IStatus.ERROR, message));
+	}
+
+	public static void logError(String message, Throwable exception) {
+		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( createStatus(IStatus.ERROR, message, exception));
+	}
+
+	public static void logError(String message, CoreException exception) {
+		MultiStatus status = new MultiStatus(PLUGIN_ID,IStatus.ERROR,new IStatus[]{exception.getStatus()},message,exception);
+		Platform.getLog(Platform.getBundle(PLUGIN_ID)).log( status );
+	}
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPreferences.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPreferences.java
new file mode 100644
index 0000000..fd5256a
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WSTWebPreferences.java
@@ -0,0 +1,81 @@
+/***************************************************************************************************
+ * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
+ * accompanying materials are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ **************************************************************************************************/
+
+package org.eclipse.wst.web.internal;
+
+import org.eclipse.core.runtime.Plugin;
+import org.eclipse.core.runtime.Preferences;
+
+public class WSTWebPreferences {
+	public interface Keys {
+		final static String STATIC_WEB_CONTENT = "org.eclipse.jst.j2ee.preference.staticWebContentName"; //$NON-NLS-1$
+	}
+	public interface Values {
+		final static String STATIC_WEB_CONTENT = "WebContent"; //$NON-NLS-1$
+	}
+	public interface Defaults {
+		final static String STATIC_WEB_CONTENT = Values.STATIC_WEB_CONTENT;
+	}
+	private Plugin owner = null;
+	private Preferences preferences = null;
+	private boolean persistOnChange = false;
+	
+	public WSTWebPreferences(Plugin owner) {
+		this.owner = owner;
+	}
+	protected void initializeDefaultPreferences() {
+		getPreferences().setDefault(Keys.STATIC_WEB_CONTENT, Defaults.STATIC_WEB_CONTENT);
+	}
+	
+	public String getStaticWebContentFolderName() {
+		return getPreferences().getString(Keys.STATIC_WEB_CONTENT);
+	}
+	
+	public void setStaticWebContentFolderName(String value) {
+		getPreferences().setValue(Keys.STATIC_WEB_CONTENT, value);
+		firePreferenceChanged();
+	}
+	
+	public void firePreferenceChanged() {
+		if (isPersistOnChange())
+			persist();
+	}
+
+	public void persist() {
+		getOwner().savePluginPreferences();
+	}
+
+	/**
+	 * @return Returns the persistOnChange.
+	 */
+	public boolean isPersistOnChange() {
+		return this.persistOnChange;
+	}
+
+	/**
+	 * @param persistOnChange
+	 *            The persistOnChange to set.
+	 */
+	public void setPersistOnChange(boolean persistOnChange) {
+		this.persistOnChange = persistOnChange;
+	}
+
+	private Preferences getPreferences() {
+		if (this.preferences == null)
+			this.preferences = getOwner().getPluginPreferences();
+		return this.preferences;
+	}
+
+	/**
+	 * @return Returns the owner.
+	 */
+	private Plugin getOwner() {
+		return this.owner;
+	}
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WebPropertiesUtil.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WebPropertiesUtil.java
new file mode 100644
index 0000000..ef24981
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/WebPropertiesUtil.java
@@ -0,0 +1,108 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.web.internal;
+
+import com.ibm.icu.util.StringTokenizer;
+
+public class WebPropertiesUtil {
+	private static final char[] BAD_CHARS = {'/', '\\', ':'};
+	/**
+	 * @param project
+	 *            org.eclipse.core.resources.IProject
+	 */
+	/**
+	 * Returns a error message that states whether a context root is valid or not returns null if
+	 * context root is fine
+	 * 
+	 * @return java.lang.String
+	 * @param contextRoot
+	 *            java.lang.String
+	 */
+	public static String validateContextRoot(String contextRoot) {
+
+		if (contextRoot == null)
+			return null;
+
+		String errorMessage = null;
+
+		String name = contextRoot;
+		if (name.equals("") || name == null) { //$NON-NLS-1$
+			//  this was added because the error message shouldnt be shown initially. It should be
+			// shown only if context root field is edited to
+			errorMessage = ResourceHandler.StaticWebProjectWizardBasePage_Page_Title; 
+			
+			//errorMessage = ProjectSupportResourceHandler.getString("Context_Root_cannot_be_empty_2"); //$NON-NLS-1$
+			return errorMessage;
+		}
+
+		/*******************************************************************************************
+		 * // JZ - fix to defect 204264, "/" is valid in context root if (name.indexOf("//") != -1) {
+		 * //$NON-NLS-1$ errorMessage = "// are invalid characters in a resource name"; return
+		 * errorMessage;
+		 *  }
+		 ******************************************************************************************/
+
+		if (name.trim().equals(name)) {
+			StringTokenizer stok = new StringTokenizer(name, "."); //$NON-NLS-1$
+			outer : while (stok.hasMoreTokens()) {
+				String token = stok.nextToken();
+				for (int i = 0; i < token.length(); i++) {
+					if (!(token.charAt(i) == '_') && !(token.charAt(i) == '-') && !(token.charAt(i) == '/') && Character.isLetterOrDigit(token.charAt(i)) == false) {
+						if (Character.isWhitespace(token.charAt(i))) {
+							//Removed because context roots can contain white space
+							//errorMessage =
+							//	ResourceHandler.getString("_Context_root_cannot_conta_UI_");//$NON-NLS-1$
+							// = " Context root cannot contain whitespaces."
+						} else {
+							errorMessage = ResourceHandler.StaticWebProjectWizardBasePage_Page_Title; 
+							
+							//errorMessage = ProjectSupportResourceHandler.getString("The_character_is_invalid_in_a_context_root", new Object[]{(new Character(token.charAt(i))).toString()}); //$NON-NLS-1$
+							break outer;
+						}
+					}
+				}
+			}
+		} // en/ end of if(name.trim
+		else
+			errorMessage = ResourceHandler.StaticWebProjectWizardBasePage_Page_Title; 
+			//errorMessage = ProjectSupportResourceHandler.getString("Names_cannot_begin_or_end_with_whitespace_5"); //$NON-NLS-1$
+
+		return errorMessage;
+	}
+
+
+	/**
+	 * Return true if the string contains any of the characters in the array.
+	 */
+	private static boolean contains(String str, char[] chars) {
+		for (int i = 0; i < chars.length; i++) {
+			if (str.indexOf(chars[i]) != -1)
+				return true;
+		}
+		return false;
+	}
+
+
+	public static String validateFolderName(String folderName) {
+		if (folderName.length() == 0)
+			return ResourceHandler.StaticWebProjectWizardBasePage_Page_Title; 
+			
+			//return ProjectSupportResourceHandler.getString("Folder_name_cannot_be_empty_2"); //$NON-NLS-1$
+
+		if (contains(folderName, BAD_CHARS))
+			return ResourceHandler.StaticWebProjectWizardBasePage_Page_Title; 
+			
+			//return ProjectSupportResourceHandler.getString("Folder_name_is_not_valid", new Object[]{folderName}); //$NON-NLS-1$
+
+		return null;
+	}
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/ComponentDeployable.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/ComponentDeployable.java
new file mode 100644
index 0000000..d351360
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/ComponentDeployable.java
@@ -0,0 +1,429 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.web.internal.deployables;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.common.componentcore.ArtifactEdit;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualContainer;
+import org.eclipse.wst.common.componentcore.resources.IVirtualFolder;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+import org.eclipse.wst.common.componentcore.resources.IVirtualResource;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.internal.ModuleFile;
+import org.eclipse.wst.server.core.internal.ModuleFolder;
+import org.eclipse.wst.server.core.model.IModuleFile;
+import org.eclipse.wst.server.core.model.IModuleFolder;
+import org.eclipse.wst.server.core.model.IModuleResource;
+import org.eclipse.wst.server.core.util.ProjectModule;
+
+public abstract class ComponentDeployable extends ProjectModule {
+
+	protected IVirtualComponent component = null;
+	protected List members = new ArrayList();
+	
+	public ComponentDeployable(IProject project) {
+		this(project,ComponentCore.createComponent(project));
+	}
+	
+	public ComponentDeployable(IProject project, IVirtualComponent aComponent) {
+		super(project);
+		this.component = aComponent;
+	}
+	
+	/**
+	 * @see org.eclipse.jst.server.core.IJ2EEModule#isBinary()
+	 */
+	public boolean isBinary() {
+		if (component==null)
+			return false;
+		return component.isBinary();
+	}
+	
+	/**
+	 * Add the resources from mr to the existing resources in Module Folder mf
+	 * @param ModuleFolder mf
+	 * @param IModuleResource[] mr
+	 */
+	private void addMembersToModuleFolder(ModuleFolder mf, IModuleResource[] mr) {
+		// If the folder is null or the resources to add are null or empty, bail and return
+		if (mf == null || mr == null || mr.length==0) 
+			return;
+		// Get the existing members in the module folder
+		IModuleResource[] mf_members = mf.members();
+		int mf_size = 0;
+		// Get the length of the existing members in the module folder
+		if (mf_members != null)
+			mf_size = mf_members.length;
+		// Create a new array to set on the module folder which will combine the existing and
+		// new module resources
+		IModuleResource[] res = new IModuleResource[mf_size + mr.length];
+		// Copy the existing members into the array if there are any
+		if (mf_members != null && mf_size > 0)
+			System.arraycopy(mf_members, 0, res, 0, mf_size);
+		// Copy the new members into the array
+		System.arraycopy(mr, 0, res, mf_size, mr.length);
+		// Set the new members array on the module folder
+		mf.setMembers(res);
+	}
+
+	 /**
+     * Returns the child modules of this module.
+     * 
+     * @return org.eclipse.wst.server.core.model.IModule[]
+     */
+    public IModule[] getChildModules() {
+        return getModules();
+    }
+    
+    public IModule[] getModules() {
+		List modules = new ArrayList();
+		if (component != null) {
+	    	IVirtualReference[] components = getReferences(component);
+	    	for (int i = 0; i < components.length; i++) {
+				IVirtualReference reference = components[i];
+				if (reference != null && reference.getDependencyType()==IVirtualReference.DEPENDENCY_TYPE_USES) {
+					IVirtualComponent virtualComp = reference.getReferencedComponent();
+					IModule module = gatherModuleReference(component, virtualComp);
+					if (module != null && !modules.contains(module))
+						modules.add(module);
+				}
+			}
+		}
+        return (IModule[]) modules.toArray(new IModule[modules.size()]);
+	}
+    
+    protected IVirtualReference[] getReferences(IVirtualComponent aComponent) {
+    	return aComponent.getReferences();
+    }
+    
+    protected IModule gatherModuleReference(IVirtualComponent component, IVirtualComponent targetComponent ) {
+    	// Handle workspace project module components
+		if (targetComponent != null && targetComponent.getProject()!=component.getProject()) {
+			if (!targetComponent.isBinary())
+				return ServerUtil.getModule(targetComponent.getProject());
+		}
+		return null;
+    }
+    
+    /**
+	 * Find the module resources for a given container and path. Inserts in the java containers
+	 * at a given path if not null.
+	 * 
+	 * @param cont a container
+	 * @param path the current module relative path
+	 * @param javaPath the path where Java resources fit in the root
+	 * @param javaCont
+	 * @return a possibly-empty array of module resources
+	 * @throws CoreException
+	 */
+	protected IModuleResource[] getMembers(IContainer cont, IPath path, IPath javaPath, IContainer[] javaCont) throws CoreException {
+		IResource[] res = cont.members();
+		int size2 = res.length;
+		List list = new ArrayList(size2);
+		for (int j = 0; j < size2; j++) {
+			if (res[j] instanceof IContainer) {
+				IContainer cc = (IContainer) res[j];
+				
+				IPath newPath = path.append(cc.getName()).makeRelative();
+				// Retrieve already existing module folder if applicable
+				ModuleFolder mf = (ModuleFolder) getExistingModuleResource(members,newPath);
+				if (mf == null) {
+					mf = new ModuleFolder(cc, cc.getName(), path);
+					ModuleFolder parent = (ModuleFolder) getExistingModuleResource(members, path);
+					if (path.isEmpty())
+						members.add(mf);
+					else {
+						if (parent == null)
+							parent = ensureParentExists(path, cc);
+						addMembersToModuleFolder(parent, new IModuleResource[] {mf});
+					}
+				}
+				IModuleResource[] mr = getMembers(cc, newPath, javaPath, javaCont);
+				
+				if (javaPath != null && newPath.isPrefixOf(javaPath))
+					mr = handleJavaPath(path, javaPath, newPath, javaCont, mr, cc);
+
+				addMembersToModuleFolder(mf, mr);
+				
+			} else {
+				IFile f = (IFile) res[j];
+				// Handle the default package case
+				if (path.equals(javaPath)) {
+					ModuleFolder mFolder = (ModuleFolder) getExistingModuleResource(members,javaPath);
+					IModuleFile mFile = createModuleFile(f, javaPath);
+					if (mFolder != null)
+						addMembersToModuleFolder(mFolder,new IModuleResource[]{mFile});
+					else
+						list.add(mFile);
+				} else {
+					IModuleFile mf = createModuleFile(f, path);
+					list.add(mf);
+				}
+			}
+		}
+		IModuleResource[] mr = new IModuleResource[list.size()];
+		list.toArray(mr);
+		return mr;
+	}
+	
+	protected IModuleFile createModuleFile(final IFile file, final IPath path) {
+		return new ModuleFile(file, file.getName(), path, file.getModificationStamp() + file.getLocalTimeStamp());
+	}
+	
+	protected IModuleResource[] getMembers(IVirtualContainer cont, IPath path) throws CoreException {
+		IVirtualResource[] res = cont.members();
+		int size2 = res.length;
+		List list = new ArrayList(size2);
+		for (int j = 0; j < size2; j++) {
+			if (res[j] instanceof IVirtualContainer) {
+				IVirtualContainer cc = (IVirtualContainer) res[j];
+				// Retrieve already existing module folder if applicable
+				ModuleFolder mf = (ModuleFolder) getExistingModuleResource(members,path.append(new Path(cc.getName()).makeRelative()));
+				if (mf == null) {
+					mf = new ModuleFolder((IContainer)cc.getUnderlyingResource(), cc.getName(), path);
+					ModuleFolder parent = (ModuleFolder) getExistingModuleResource(members, path);
+					if (path.isEmpty())
+						members.add(mf);
+					else {
+						if (parent == null)
+							parent = ensureParentExists(path, (IContainer)cc.getUnderlyingResource());
+						addMembersToModuleFolder(parent, new IModuleResource[] {mf});
+					}
+				}
+				IModuleResource[] mr = getMembers(cc, path.append(cc.getName()));
+				addMembersToModuleFolder(mf, mr);
+			} else {
+				IFile f = (IFile) res[j].getUnderlyingResource();
+				IModuleFile mf = null;
+				if (shouldAddComponentFile(f)) {
+					mf = createModuleFile(f, path);
+					list.add(mf);
+				}
+			}
+		}
+		IModuleResource[] mr = new IModuleResource[list.size()];
+		list.toArray(mr);
+		return mr;
+	}
+	
+	protected ModuleFolder ensureParentExists(IPath path, IContainer cc) {
+		ModuleFolder parent = (ModuleFolder) getExistingModuleResource(members, path);
+		if (parent == null) {
+			String folderName = path.lastSegment();
+			IPath folderPath = Path.EMPTY;
+			if (path.segmentCount()>1)
+				folderPath = path.removeLastSegments(1);
+			parent = new ModuleFolder(cc, folderName, folderPath);
+			if (path.segmentCount()>1)
+				addMembersToModuleFolder(ensureParentExists(path.removeLastSegments(1),cc), new IModuleResource[] {parent});
+			else
+				members.add(parent);
+		}
+		return parent;
+	}
+	
+	/**
+	 * This method is meant to be overridden by subclasses.  Return whether or not to add this file
+	 * to the members list.
+	 * 
+	 * @param file
+	 * @return boolean should add file?
+	 */
+	protected boolean shouldAddComponentFile(IFile file) {
+		return true;
+	}
+	
+	/**
+	 * Check the current cache to see if we already have an existing module resource for
+	 * the given path.
+	 * @param aList
+	 * @param path
+	 * @return an existing moduleResource from the cached result
+	 */
+	 
+	protected IModuleResource getExistingModuleResource(List aList, IPath path) { 
+    	// If the list is empty, return null
+    	if (aList==null || aList.isEmpty() || path == null)
+    		return null;
+    	// Otherwise recursively check to see if given resource matches current resource or if it is a child
+    	String[] pathSegments = path.segments(); 
+    	IModuleResource moduleResource = null;
+    	
+    	if(pathSegments.length == 0)
+    		return null;
+    	for (Iterator iter = aList.iterator(); iter.hasNext();) {
+    		moduleResource = (IModuleResource) iter.next();     	
+    		String[] moduleSegments = moduleResource.getModuleRelativePath().segments();
+    		// If the last segment in passed in path equals the module resource name 
+    		// and segment count is the same and the path segments start with the module path segments
+    		// then we have a match and we return the existing moduleResource
+    		if (pathSegments[pathSegments.length - 1].equals(moduleResource.getName()) && 
+		    		(moduleSegments.length + 1) == pathSegments.length && 
+		    		startsWith(moduleSegments, pathSegments))
+		    	return moduleResource; 
+    		
+    		// Otherwise, if it is a folder, check its children for the existing resource path
+    		// but only check if the beginning segments are a match
+	    	if(moduleResource instanceof IModuleFolder && 
+	    			startsWith(moduleSegments, pathSegments) && pathSegments.length > moduleSegments.length &&
+	    			moduleResource.getName().equals(pathSegments[moduleSegments.length > 0 ? moduleSegments.length : 0]))	    	  
+    			if (((IModuleFolder)moduleResource).members()!=null)
+    				return getExistingModuleResource(Arrays.asList(((IModuleFolder)moduleResource).members()),path);		
+    	}
+    	return null;
+    }
+	
+	/**
+	 * 
+	 * @param beginningSegments
+	 * @param testSegments
+	 * @return True if beginningSegments[i] == testSegments[i] for all 0<=i<beginningSegments[i] 
+	 */
+	private boolean startsWith(String[] beginningSegments, String[] testSegments) { 
+		for(int i=0; i < beginningSegments.length; i++) {
+			if(!beginningSegments[i].equals(testSegments[i]))
+				return false;
+		}
+		return true;
+	}
+
+	protected IModuleResource[] handleJavaPath(IPath path, IPath javaPath, IPath curPath, IContainer[] javaCont, IModuleResource[] mr, IContainer cc) throws CoreException {
+		//subclasses may override
+		return new IModuleResource[]{};
+	}
+	
+	public IModuleResource[] members() throws CoreException {
+		members.clear();
+		IVirtualComponent vc = ComponentCore.createComponent(getProject());
+		if (vc != null) {
+			IVirtualFolder vFolder = vc.getRootFolder();
+			IModuleResource[] mr = getMembers(vFolder, Path.EMPTY);
+			int size = mr.length;
+			for (int j = 0; j < size; j++) {
+				members.add(mr[j]);
+			}
+			addUtilMembers(vc);
+		}
+		
+		IModuleResource[] mr = new IModuleResource[members.size()];
+		members.toArray(mr);
+		return mr;
+	}
+	
+	protected boolean shouldIncludeUtilityComponent(IVirtualComponent virtualComp, IVirtualReference[] components, ArtifactEdit edit) {
+		return virtualComp != null && virtualComp.isBinary() && virtualComp.getProject()==component.getProject();
+	}
+	
+	protected void addUtilMembers(IVirtualComponent vc) {
+		ArtifactEdit edit = null;
+		try {
+			edit = getComponentArtifactEditForRead();
+			IVirtualReference[] components = vc.getReferences();
+	    	for (int i = 0; i < components.length; i++) {
+	    		IVirtualReference reference = components[i];
+				IVirtualComponent virtualComp = reference.getReferencedComponent();
+				if (shouldIncludeUtilityComponent(virtualComp,components,edit)) {
+					addUtilMember(vc, reference, reference.getRuntimePath());
+				}
+	    	}
+		} finally {
+			if (edit!=null)
+				edit.dispose();
+		}
+	}
+	
+	protected void addUtilMember(IVirtualComponent parent, IVirtualReference reference, IPath runtimePath) {
+		IModuleFile mf = null;
+		final String archiveName = reference.getArchiveName();
+		final IVirtualComponent virtualComp = reference.getReferencedComponent();
+		final IPath archivePath = ((VirtualArchiveComponent)virtualComp).getWorkspaceRelativePath();
+		if (archivePath != null) { //In Workspace
+			IFile utilFile = ResourcesPlugin.getWorkspace().getRoot().getFile(archivePath);
+			String name = null != archiveName ? archiveName : utilFile.getName();
+			mf = new ModuleFile(utilFile, name, runtimePath.makeRelative());
+		} else {
+			File extFile = ((VirtualArchiveComponent)virtualComp).getUnderlyingDiskFile();
+			String name = null != archiveName ? archiveName : extFile.getName();
+			mf = new ModuleFile(extFile, name, runtimePath.makeRelative());
+		}
+		if (mf == null) {
+			return;
+		}
+		IModuleResource moduleParent = getExistingModuleResource(members, mf.getModuleRelativePath());
+		if (moduleParent != null && moduleParent instanceof ModuleFolder) {
+			addMembersToModuleFolder((ModuleFolder)moduleParent, new IModuleResource[]{mf});
+		} else {
+			if (mf.getModuleRelativePath().isEmpty()) {
+				members.add(mf);
+			} else {
+				if (moduleParent == null) {
+					moduleParent = ensureParentExists(mf.getModuleRelativePath(), (IContainer)parent.getRootFolder().getUnderlyingResource());
+				}
+				addMembersToModuleFolder((ModuleFolder)moduleParent, new IModuleResource[] {mf});
+			}
+		}
+	}
+	
+	protected ArtifactEdit getComponentArtifactEditForRead() {
+		return null;
+	}
+
+	protected static boolean isProjectOfType(IProject project, String typeID) {
+		IFacetedProject facetedProject = null;
+		try {
+			facetedProject = ProjectFacetsManager.create(project);
+		} catch (CoreException e) {
+			return false;
+		}
+		
+		if (facetedProject !=null && ProjectFacetsManager.isProjectFacetDefined(typeID)) {
+			IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(typeID);
+			return projectFacet!=null && facetedProject.hasProjectFacet(projectFacet);
+		}
+		return false;
+	}
+
+	/**
+	 * Returns the root folders for the resources in this module.
+	 * 
+	 * @return a possibly-empty array of resource folders
+	 */
+	public IContainer[] getResourceFolders() {
+		IVirtualComponent vc = ComponentCore.createComponent(getProject());
+		if (vc != null) {
+			IVirtualFolder vFolder = vc.getRootFolder();
+			if (vFolder != null)
+				return vFolder.getUnderlyingFolders();
+		}
+		return new IContainer[]{};
+	}
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/IStaticWebModuleArtifact.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/IStaticWebModuleArtifact.java
new file mode 100644
index 0000000..7fd5bfb
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/IStaticWebModuleArtifact.java
@@ -0,0 +1,14 @@
+/***************************************************************************************************
+ * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
+ * accompanying materials are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ **************************************************************************************************/
+
+package org.eclipse.wst.web.internal.deployables;
+
+public interface IStaticWebModuleArtifact {
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployable.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployable.java
new file mode 100644
index 0000000..9872077
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployable.java
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.web.internal.deployables;
+
+import java.util.Properties;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.componentcore.resources.IVirtualReference;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.util.IStaticWeb;
+
+public class StaticWebDeployable extends ComponentDeployable implements IStaticWeb {
+
+	public StaticWebDeployable(IProject project, IVirtualComponent component) {
+		super(project);
+	}
+	
+	public String getContextRoot() {
+		Properties props = component.getMetaProperties();
+		if(props.containsKey("context-root")) //$NON-NLS-1$
+			return props.getProperty("context-root"); //$NON-NLS-1$
+	    return component.getName();
+    }
+	
+	 public String getURI(IModule module) {
+	    IVirtualComponent comp = ComponentCore.createComponent(module.getProject());
+	    String aURI = null;
+	    if (comp !=null) {
+	    	if (!comp.isBinary() && isProjectOfType(module.getProject(),IModuleConstants.WST_WEB_MODULE)) {
+        		IVirtualReference ref = component.getReference(comp.getName());
+        		aURI = ref.getRuntimePath().append(comp.getName()+".war").toString(); //$NON-NLS-1$
+        	}
+	    }
+	    	
+    	if (aURI !=null && aURI.length()>1 && aURI.startsWith("/")) //$NON-NLS-1$
+    		aURI = aURI.substring(1);
+    	return aURI;
+	 }
+	 
+	public String getVersion() {
+		IFacetedProject facetedProject = null;
+		try {
+			facetedProject = ProjectFacetsManager.create(component.getProject());
+			if (facetedProject !=null && ProjectFacetsManager.isProjectFacetDefined(IModuleConstants.WST_WEB_MODULE)) {
+				IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(IModuleConstants.WST_WEB_MODULE);
+				return facetedProject.getInstalledVersion(projectFacet).getVersionString();
+			}
+		} catch (Exception e) {
+			//Ignore
+		}
+		return "1.0"; //$NON-NLS-1$
+	}
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableFactory.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableFactory.java
new file mode 100644
index 0000000..a50d53e
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableFactory.java
@@ -0,0 +1,141 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.web.internal.deployables;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jem.util.logger.proxy.Logger;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.ModuleCoreNature;
+import org.eclipse.wst.common.componentcore.internal.StructureEdit;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.model.ModuleDelegate;
+import org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate;
+
+public class StaticWebDeployableFactory extends ProjectModuleFactoryDelegate {
+	private static final String ID = "org.eclipse.wst.web.internal.deployables.static"; //$NON-NLS-1$
+	protected ArrayList moduleDelegates = new ArrayList();
+
+	/*
+	 * @see DeployableProjectFactoryDelegate#getFactoryID()
+	 */
+	public static String getFactoryId() {
+		return ID;
+	}
+	
+	/**
+	 * Use {@link #createModules(IProject)} instead.
+	 * @deprecated
+	 * @param nature
+	 * @return
+	 */
+	protected IModule[] createModules(ModuleCoreNature nature) {
+		if(nature != null){
+			return createModules(nature.getProject());
+		}
+		return null;
+	}
+	/**
+	 * Returns true if the project represents a deployable project of this type.
+	 * 
+	 * @param project
+	 *            org.eclipse.core.resources.IProject
+	 * @return boolean
+	 */
+	protected boolean isValidModule(IProject project) {
+		try {
+			IFacetedProject facetedProject = ProjectFacetsManager.create(project);
+			if (facetedProject == null)
+				return false;
+			IProjectFacet webFacet = ProjectFacetsManager.getProjectFacet(IModuleConstants.WST_WEB_MODULE);
+			return facetedProject.hasProjectFacet(webFacet);
+		} catch (Exception e) {
+			return false;
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wst.server.core.model.ModuleFactoryDelegate#getModuleDelegate(org.eclipse.wst.server.core.IModule)
+	 */
+	public ModuleDelegate getModuleDelegate(IModule module) {
+		for (Iterator iter = moduleDelegates.iterator(); iter.hasNext();) {
+			ModuleDelegate element = (ModuleDelegate) iter.next();
+			if (module == element.getModule())
+				return element;
+		}
+		return null;
+
+	}
+
+	protected IModule[] createModules(IProject project) {
+		IVirtualComponent component = ComponentCore.createComponent(project);
+		if(component != null){
+			try {
+				return createModuleDelegates(component);
+			} catch (CoreException e) {
+				Logger.getLogger().write(e);
+			}
+		}
+		return null;
+	}
+
+	protected IModule[] createModuleDelegates(IVirtualComponent component) throws CoreException {
+		if(component == null){
+			return null;
+		}
+		StaticWebDeployable moduleDelegate = null;
+		IModule module = null;
+		try {
+			if(isValidModule(component.getProject())) {
+				moduleDelegate = new StaticWebDeployable(component.getProject(),component);
+				module = createModule(component.getName(), component.getName(), IModuleConstants.WST_WEB_MODULE, moduleDelegate.getVersion(), moduleDelegate.getProject());
+				moduleDelegate.initialize(module);
+			}
+		} catch (Exception e) {
+			Logger.getLogger().write(e);
+		} finally {
+			if (module != null) {
+				if (getModuleDelegate(module) == null)
+					moduleDelegates.add(moduleDelegate);
+			}
+		}
+		if (module == null)
+			return null;
+		return new IModule[] {module};
+	}
+	
+	/**
+	 * Returns the list of resources that the module should listen to
+	 * for state changes. The paths should be project relative paths.
+	 * Subclasses can override this method to provide the paths.
+	 *
+	 * @return a possibly empty array of paths
+	 */
+	protected IPath[] getListenerPaths() {
+		return new IPath[] {
+			new Path(".project"), // nature //$NON-NLS-1$
+			new Path(StructureEdit.MODULE_META_FILE_NAME), // component
+			new Path(".settings/org.eclipse.wst.common.project.facet.core.xml") // facets //$NON-NLS-1$
+		};
+	}
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapter.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapter.java
new file mode 100644
index 0000000..f29938e
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapter.java
@@ -0,0 +1,35 @@
+/***************************************************************************************************
+ * Copyright (c) 2003, 2004 IBM Corporation and others. All rights reserved. This program and the
+ * accompanying materials are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ **************************************************************************************************/
+
+package org.eclipse.wst.web.internal.deployables;
+
+import org.eclipse.core.runtime.IAdapterFactory;
+import org.eclipse.wst.server.core.IModuleArtifact;
+import org.eclipse.wst.server.core.model.ModuleArtifactAdapterDelegate;
+
+public class StaticWebDeployableObjectAdapter extends ModuleArtifactAdapterDelegate implements IAdapterFactory
+
+{
+
+	public StaticWebDeployableObjectAdapter() {
+		super();
+	}
+
+	public Object getAdapter(Object adaptableObject, Class adapterType) {
+		return null;
+	}
+
+	public Class[] getAdapterList() {
+		return new Class[]{IStaticWebModuleArtifact.class};
+	}
+
+	public IModuleArtifact getModuleArtifact(Object obj) {
+		return StaticWebDeployableObjectAdapterUtil.getModuleObject(obj);
+	}
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapterUtil.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapterUtil.java
new file mode 100644
index 0000000..f179163
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/deployables/StaticWebDeployableObjectAdapterUtil.java
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.web.internal.deployables;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
+import org.eclipse.wst.common.componentcore.ComponentCore;
+import org.eclipse.wst.common.componentcore.internal.util.IModuleConstants;
+import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IModuleArtifact;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.eclipse.wst.server.core.util.WebResource;
+
+public class StaticWebDeployableObjectAdapterUtil {
+
+	private final static String[] extensionsToExclude = new String[]{"sql", "xmi"}; //$NON-NLS-1$ //$NON-NLS-2$
+	static String INFO_DIRECTORY = "WEB-INF"; //$NON-NLS-1$
+
+	public static IModuleArtifact getModuleObject(Object obj) {
+		IResource resource = null;
+		if (obj instanceof IResource)
+			resource = (IResource) obj;
+		else if (obj instanceof IAdaptable)
+			resource = (IResource) ((IAdaptable) obj).getAdapter(IResource.class);
+		
+		if (resource == null)
+			return null;
+		
+		if (resource instanceof IProject) {
+			IProject project = (IProject) resource;
+			if (hasInterestedComponents(project))
+				return new WebResource(getModule(project), new Path("")); //$NON-NLS-1$
+			return null;	
+		}
+		
+		IProject project = ProjectUtilities.getProject(resource);
+		if (project != null && !hasInterestedComponents(project))
+			return null;
+		
+		IVirtualComponent comp = ComponentCore.createComponent(project);
+		// determine path
+		IPath rootPath = comp.getRootFolder().getProjectRelativePath();
+		IPath resourcePath = resource.getProjectRelativePath();
+
+		// Check to make sure the resource is under the webApplication directory
+		if (resourcePath.matchingFirstSegments(rootPath) != rootPath.segmentCount())
+			return null;
+
+		// Do not allow resource under the web-inf directory
+		resourcePath = resourcePath.removeFirstSegments(rootPath.segmentCount());
+		if (resourcePath.segmentCount() > 1 && resourcePath.segment(0).equals(INFO_DIRECTORY))
+			return null;
+
+		if (shouldExclude(resource))
+			return null;
+
+		// return Web resource type
+		return new WebResource(getModule(project), resourcePath);
+
+	}
+
+	/**
+	 * Method shouldExclude.
+	 * 
+	 * @param resource
+	 * @return boolean
+	 */
+	private static boolean shouldExclude(IResource resource) {
+		String fileExt = resource.getFileExtension();
+
+		// Exclude files of certain extensions
+		for (int i = 0; i < extensionsToExclude.length; i++) {
+			String extension = extensionsToExclude[i];
+			if (extension.equalsIgnoreCase(fileExt))
+				return true;
+		}
+		return false;
+	}
+
+	protected static IModule getModule(IProject project) {
+		if (hasInterestedComponents(project))
+			return ServerUtil.getModule(project);
+		return null;
+	}
+	
+	protected static boolean hasInterestedComponents(IProject project) {
+		return isProjectOfType(project, IModuleConstants.WST_WEB_MODULE);
+	}
+	
+	protected static boolean isProjectOfType(IProject project, String typeID) {
+		IFacetedProject facetedProject = null;
+		try {
+			facetedProject = ProjectFacetsManager.create(project);
+		} catch (CoreException e) {
+			return false;
+		}
+
+		if (facetedProject != null && ProjectFacetsManager.isProjectFacetDefined(typeID)) {
+			IProjectFacet projectFacet = ProjectFacetsManager.getProjectFacet(typeID);
+			return projectFacet != null && facetedProject.hasProjectFacet(projectFacet);
+		}
+		return false;
+	}
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/facet/MappingDescriptor.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/facet/MappingDescriptor.java
new file mode 100644
index 0000000..a349042
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/facet/MappingDescriptor.java
@@ -0,0 +1,58 @@
+package org.eclipse.wst.web.internal.facet;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+
+public class MappingDescriptor {
+
+	protected IConfigurationElement element = null;
+
+	public MappingDescriptor(IConfigurationElement configurationElement) {
+		this.element = configurationElement;
+	}
+
+	public IConfigurationElement getElement() {
+		return element;
+	}
+
+	public String getID() {
+		return element.getAttribute(RuntimePresetMappingRegistry.ATTRIBUTE_ID);
+	}
+	
+	public String getFacetRuntimeTypeID() {
+		return element.getAttribute(RuntimePresetMappingRegistry.ATTRIBUTE_FACET_RUNTIME_TYPE_ID);
+	}
+
+	public String getFacetRuntimeVersion() {
+		return element.getAttribute(RuntimePresetMappingRegistry.ATTRIBUTE_FACET_RUNTIME_VERSION);
+	}
+	
+	public String getFacetID() {
+		return element.getAttribute(RuntimePresetMappingRegistry.ATTRIBUTE_FACET_ID);
+	}
+
+	public String getFacetVersion() {
+		return element.getAttribute(RuntimePresetMappingRegistry.ATTRIBUTE_FACET_VERSION);
+	}
+
+	public String getPresetID() {
+		return element.getAttribute(RuntimePresetMappingRegistry.ATTRIBUTE_PRESET_ID);
+	}
+
+	public String toString() {
+		StringBuffer buff = new StringBuffer();
+		buff.append("id:");
+		buff.append(getID());
+		buff.append(" facetRuntimeTypeID:");
+		buff.append(getFacetRuntimeTypeID());
+		buff.append(" facetRuntimeVersion:");
+		buff.append(getFacetRuntimeVersion());
+		buff.append(" facetID:");
+		buff.append(getFacetID());
+		buff.append(" facetVersion:");
+		buff.append(getFacetVersion());
+		buff.append(" presetID:");
+		buff.append(getPresetID());
+		return buff.toString();
+	}
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/facet/RuntimePresetMappingRegistry.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/facet/RuntimePresetMappingRegistry.java
new file mode 100644
index 0000000..8373225
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/facet/RuntimePresetMappingRegistry.java
@@ -0,0 +1,261 @@
+package org.eclipse.wst.web.internal.facet;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.StringTokenizer;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentType;
+import org.eclipse.wst.common.project.facet.core.runtime.IRuntimeComponentVersion;
+import org.eclipse.wst.common.project.facet.core.runtime.RuntimeManager;
+import org.eclipse.wst.web.internal.WSTWebPlugin;
+
+public class RuntimePresetMappingRegistry {
+
+	static final String EXTENSION_POINT = "runtimePresetMappings";
+
+	static final String ELEMENT_MAPPING = "mapping";
+
+	static final String ATTRIBUTE_ID = "id";
+
+	static final String ATTRIBUTE_FACET_RUNTIME_TYPE_ID = "facetRuntimeTypeID";
+
+	static final String ATTRIBUTE_FACET_RUNTIME_VERSION = "facetRuntimeVersion";
+
+	static final String ATTRIBUTE_FACET_ID = "facetID";
+
+	static final String ATTRIBUTE_FACET_VERSION = "facetVersion";
+
+	static final String ATTRIBUTE_PRESET_ID = "presetID";
+
+	public static RuntimePresetMappingRegistry INSTANCE = new RuntimePresetMappingRegistry();
+
+	private List<MappingDescriptor> descriptors = null;
+
+	public String getPresetID(String facetRuntimeTypeID,
+			String facetRuntimeVersion, String facetID, String facetVersion) {
+		if (descriptors == null) {
+			readDescriptors();
+		}
+		for (MappingDescriptor descriptor : descriptors) {
+			if(matches(facetRuntimeTypeID, descriptor.getFacetRuntimeTypeID()) &&
+			   matches(facetRuntimeVersion, descriptor.getFacetRuntimeVersion()) &&
+			   matches(facetID, descriptor.getFacetID()) &&
+			   matches(facetVersion, descriptor.getFacetVersion())){
+				return descriptor.getPresetID();
+			}
+		}
+		return null;
+	}
+
+	/**
+	 * Returns true if the value is matched by the pattern The pattern consists
+	 * of a common deliminated list of simple patterns Each simple pattern has
+	 * an optional starting or ending * so a String.startsWith() or
+	 * String.endsWith(). Both may be combined to compute a String.indexOf() !=
+	 * -1
+	 *
+	 * @param value
+	 * @param pattern
+	 * @return
+	 */
+	private static boolean matches(String value, String pattern){
+		StringTokenizer strTok = new StringTokenizer(pattern, ",");
+		while(strTok.hasMoreTokens()){
+			String simplePattern = strTok.nextToken().trim();
+			if(simplePattern.startsWith("*")){
+				if(simplePattern.length() < 2){
+					return true; // i.e. *
+				}
+				if(simplePattern.endsWith("*")){
+					if(simplePattern.length() < 3){ 
+						return true; // i.e. **
+					}
+					if(value.indexOf(simplePattern.substring(1, simplePattern.length()-2)) != -1){
+						return true;
+					}
+				} else {
+					if(value.endsWith(simplePattern.substring(1))){
+						return true;
+					}
+				}
+			} else if(simplePattern.endsWith("*")){
+				if(value.startsWith(simplePattern.substring(0, simplePattern.length()-2))){
+					return true;
+				}
+			} else if(value.equals(simplePattern)){
+				return true;
+			}
+		}
+		return false;
+	}
+	
+	private static List <String> getStaticTokens(String pattern){
+		List <String> staticTokens = new ArrayList <String> ();
+		StringTokenizer strTok = new StringTokenizer(pattern, ",");
+		while(strTok.hasMoreTokens()){
+			String simplePattern = strTok.nextToken().trim();
+			if(!simplePattern.startsWith("*") && !simplePattern.endsWith("*")){
+				staticTokens.add(simplePattern);
+			}
+		}
+		return staticTokens;
+	}
+	
+	
+	private void readDescriptors() {
+		descriptors = new ArrayList<MappingDescriptor>();
+		IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(WSTWebPlugin.PLUGIN_ID, EXTENSION_POINT);
+		if (point == null)
+			return;
+		IConfigurationElement[] elements = point.getConfigurationElements();
+		for (int i = 0; i < elements.length; i++) {
+			IConfigurationElement element = elements[i];
+			if (ELEMENT_MAPPING.equals(element.getName())) {
+				String id = element.getAttribute(ATTRIBUTE_ID);
+				if (null == id || id.trim().length() == 0) {
+					WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " is missing attribute " + ATTRIBUTE_ID);
+					continue;
+				}
+
+				String runtimeID = element.getAttribute(ATTRIBUTE_FACET_RUNTIME_TYPE_ID);
+				if (null == runtimeID || runtimeID.trim().length() == 0) {
+					WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " is missing attribute " + ATTRIBUTE_FACET_RUNTIME_TYPE_ID);
+					continue;
+				}
+
+				List <String> staticRuntimeIDs = getStaticTokens(runtimeID);
+				List <IRuntimeComponentType> staticRuntimeTypes = new ArrayList<IRuntimeComponentType>();
+				for(String staticRuntimeID : staticRuntimeIDs){
+					try {
+						IRuntimeComponentType runtimeType = RuntimeManager.getRuntimeComponentType(staticRuntimeID);
+						if(runtimeType != null){
+							staticRuntimeTypes.add(runtimeType);
+						}
+					} catch (IllegalArgumentException e) {
+						WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " defined invalid attribute " + ATTRIBUTE_FACET_RUNTIME_TYPE_ID + ": " + runtimeID +" unable to resolve runtime: "+staticRuntimeID, e);
+					}
+				}
+					
+				String runtimeVersionStr = element.getAttribute(ATTRIBUTE_FACET_RUNTIME_VERSION);
+				if (null == runtimeVersionStr || runtimeVersionStr.trim().length() == 0) {
+					WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " is missing attribute " + ATTRIBUTE_FACET_RUNTIME_VERSION);
+					continue;
+				}
+				if(!staticRuntimeTypes.isEmpty()){
+					List <String> staticRuntimeVersions = getStaticTokens(runtimeVersionStr);
+					for(String staticVersion : staticRuntimeVersions){
+						boolean foundVersion = false;
+						for(int k=0;k<staticRuntimeTypes.size() && !foundVersion;k++){
+							IRuntimeComponentType runtimeType = staticRuntimeTypes.get(k);
+							try {
+								IRuntimeComponentVersion version = runtimeType.getVersion(staticVersion);
+								foundVersion = true;
+							} catch (IllegalArgumentException e) {
+								//eat it
+							}
+						}
+						if(!foundVersion){
+							StringBuffer validVersions = new StringBuffer(" valid versions include: ");
+							for(IRuntimeComponentType runtimeType : staticRuntimeTypes) {
+								validVersions.append("\n");
+								validVersions.append(runtimeType.getId());
+								validVersions.append(": ");
+								for (Iterator<IRuntimeComponentVersion> iterator = runtimeType.getVersions().iterator(); iterator.hasNext();) {
+									validVersions.append(iterator.next().getVersionString());
+									if (iterator.hasNext()) {
+										validVersions.append(" ");
+									}
+								}
+							}
+							WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " defined invalid attribute " + ATTRIBUTE_FACET_RUNTIME_VERSION + ": " + staticVersion
+									+ validVersions);
+						}
+					}
+				}
+				
+				String facetID = element.getAttribute(ATTRIBUTE_FACET_ID);
+				if (null == facetID || facetID.trim().length() == 0) {
+					WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " is missing attribute " + ATTRIBUTE_FACET_ID);
+					continue;
+				}
+				
+				List <String> staticFacetIDs = getStaticTokens(facetID);
+				List <IProjectFacet> staticFacets = new ArrayList <IProjectFacet>();
+				for(String staticFacetID:staticFacetIDs){
+					try {
+						IProjectFacet facet = ProjectFacetsManager.getProjectFacet(staticFacetID);
+						if(null != facet){
+							staticFacets.add(facet);
+						}
+					} catch (IllegalArgumentException e) {
+						WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " defined invalid attribute " + ATTRIBUTE_FACET_ID + ": " + staticFacetID, e);
+					}
+				}
+				
+				String facetVersionStr = element.getAttribute(ATTRIBUTE_FACET_VERSION);
+				if (null == facetVersionStr || facetVersionStr.trim().length() == 0) {
+					WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " is missing attribute " + ATTRIBUTE_FACET_VERSION);
+					continue;
+				}
+				List <String>staticFacetVersionStrs = getStaticTokens(facetVersionStr);
+				if(!staticFacets.isEmpty() && !staticFacetVersionStrs.isEmpty()){
+					for(String staticFacetVersion:staticFacetVersionStrs){
+						boolean foundFacetVersion = false;
+						for(int k=0;k< staticFacets.size() && !foundFacetVersion; k++) {
+							IProjectFacet staticFacet = staticFacets.get(k);
+							try {
+								IProjectFacetVersion staticVersion = staticFacet.getVersion(staticFacetVersion);
+								if(staticVersion != null){
+									foundFacetVersion = true;
+								}
+							} catch (IllegalArgumentException e) {
+								//eat it
+							}
+						}
+						if(!foundFacetVersion){
+							StringBuffer validVersions = new StringBuffer(" valid versions include: ");
+							for(IProjectFacet staticFacet:staticFacets){
+								validVersions.append("\n");
+								validVersions.append(staticFacet.getId());
+								validVersions.append(": ");
+								for (Iterator<IProjectFacetVersion> iterator = staticFacet.getVersions().iterator(); iterator.hasNext();) {
+									validVersions.append(iterator.next().getVersionString());
+									if (iterator.hasNext()) {
+										validVersions.append(" ");
+									}
+								}
+							}
+							WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " defined invalid attribute " + ATTRIBUTE_FACET_VERSION + ": " + staticFacetVersion
+									+ validVersions);
+							continue;
+						}
+					}	
+				}
+				String presetID = element.getAttribute(ATTRIBUTE_PRESET_ID);
+				if (null == presetID || presetID.trim().length() == 0) {
+					WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " is missing attribute " + ATTRIBUTE_PRESET_ID);
+					continue;
+				}
+				try {
+					ProjectFacetsManager.getPreset(presetID);
+				} catch (IllegalArgumentException e) {
+					WSTWebPlugin.logError("Extension: " + EXTENSION_POINT + " Element: " + ELEMENT_MAPPING + " defined invalid attribute " + ATTRIBUTE_PRESET_ID + ": " + presetID, e);
+					continue;
+				}
+				MappingDescriptor descriptor = new MappingDescriptor(element);
+				descriptors.add(descriptor);
+			} else {
+				WSTWebPlugin.logError("Elements must be named: " + ELEMENT_MAPPING + " within the extension: " + EXTENSION_POINT);
+				WSTWebPlugin.logError("Element: " + element.getName() + " is invalid within the extension: " + EXTENSION_POINT);
+			}
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/IWebProjectPropertiesUpdateDataModelProperties.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/IWebProjectPropertiesUpdateDataModelProperties.java
new file mode 100644
index 0000000..5d7622b
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/IWebProjectPropertiesUpdateDataModelProperties.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.web.internal.operation;
+
+import org.eclipse.wst.common.componentcore.datamodel.properties.IServerContextRootDataModelProperties;
+
+/**
+ * @deprecated Replaced by {@link IServerContextRootDataModelProperties}
+ * 
+ */
+public interface IWebProjectPropertiesUpdateDataModelProperties {
+
+	public static final String PROJECT = "IWebProjectPropertiesUpdateDataModelProperties.PROJECT"; //$NON-NLS-1$	
+	public static final String CONTEXT_ROOT = "IWebProjectPropertiesUpdateDataModelProperties.CONTEXT_ROOT"; //$NON-NLS-1$
+
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/WebProjectPropertiesUpdateDataModelProvider.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/WebProjectPropertiesUpdateDataModelProvider.java
new file mode 100644
index 0000000..90aaff4
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/WebProjectPropertiesUpdateDataModelProvider.java
@@ -0,0 +1,43 @@
+package org.eclipse.wst.web.internal.operation;
+
+/*******************************************************************************
+ * 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
+ *******************************************************************************/
+
+import java.util.Set;
+
+import org.eclipse.wst.common.componentcore.internal.operation.ServerContextRootDataModelProvider;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation;
+
+/**
+ * @deprecated Replaced by {@link ServerContextRootDataModelProvider}
+ *
+ */
+public class WebProjectPropertiesUpdateDataModelProvider 
+ extends AbstractDataModelProvider
+ implements IWebProjectPropertiesUpdateDataModelProperties{
+
+	public WebProjectPropertiesUpdateDataModelProvider(){
+		super();
+	}
+
+	public Set getPropertyNames() {
+		Set names = super.getPropertyNames();
+		names.add(PROJECT);
+		names.add(CONTEXT_ROOT);
+		return names;
+	}
+	
+	public IDataModelOperation getDefaultOperation() {
+		return new WebProjectPropertiesUpdateOperation(model);
+	}
+	
+}
diff --git a/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/WebProjectPropertiesUpdateOperation.java b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/WebProjectPropertiesUpdateOperation.java
new file mode 100644
index 0000000..671ae2c
--- /dev/null
+++ b/plugins/org.eclipse.wst.web/static_web_project/org/eclipse/wst/web/internal/operation/WebProjectPropertiesUpdateOperation.java
@@ -0,0 +1,51 @@
+package org.eclipse.wst.web.internal.operation;
+
+/*******************************************************************************
+ * 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
+ *******************************************************************************/
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.wst.common.componentcore.internal.operation.ServerContextRootUpdateOperation;
+import org.eclipse.wst.common.componentcore.internal.util.ComponentUtilities;
+import org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelOperation;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+
+
+
+
+/**
+ * @deprecated 
+ *   Replaced by {@link ServerContextRootUpdateOperation} 
+ * @version 	1.0
+ * @author
+ */
+public class WebProjectPropertiesUpdateOperation 
+ extends  AbstractDataModelOperation 
+ implements IWebProjectPropertiesUpdateDataModelProperties{
+	
+
+	public WebProjectPropertiesUpdateOperation(IDataModel model) {
+		super(model);
+	}
+
+	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+		IProject project = (IProject)model.getProperty( IWebProjectPropertiesUpdateDataModelProperties.PROJECT );
+		String contextRoot = model.getStringProperty( IWebProjectPropertiesUpdateDataModelProperties.CONTEXT_ROOT );
+		if (contextRoot != null) {
+			ComponentUtilities.setServerContextRoot(project, contextRoot);			
+		}
+		return OK_STATUS;
+	}
+
+}